对于给定的字符串,算出字符串中A的个数,B的个数,记d为min({A的个数,B的个数,k})那么最多将从前往后数d个B与从后往前数d个A交换,注意当n为2时,因为要恰好交换k次所以当k为奇数时,AB这种字符串得交换一次成BA
c++
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+10;
小蓝得到了一个仅由字母 'A' 和 'B' 构成的字符串,其中 'A' 在字典序上小于 'B'。他想通过恰好进行 k 次交换操作,使最终得到的字符串字典序尽可能小。
一次交换操作定义为:选择两个不同的下标 i 和 j(1≤i<j≤n),交换这两个位置上的字符。
对于多组测试数据,请你为每一组数据求出操作后能得到的字典序最小的字符串。
约束条件
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册