题目大意:有t个只由a,b组成的字符串,要求把这三个字符串分成s1,s2,s3三份,使s2>=s1且s2>=s3,或s2<=s1且s2<=s3
总字符数<=4e5
思路:因为字符只可能出现a,b,所以如果我们再字符串除了两端两个字母以外的中间找到了a,那么我们令这个a等于s2,他一定小于等于左右两个字符串,如果中间没有a,也就是有b,那我们就令中间所有的字符等于s2,这样一定大于等于左右两个字母
//#include<__msvc_all_public_headers.hpp>
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin >> t;
while (t--)
{
string s;
cin >> s;
int len = s.length();
bool flag = 0;
for (int i = 1; i <= len - 2; i++)
{//出去左右两端两个字母的中间
if (s[i] == 'a')
{//找到a就将它作为s2
for (int j = 0; j < i; j++)
{
cout << s[j];
}
cout << " ";
cout << s[i] << " ";
for (int j = i + 1; j <= len - 1; j++)
{
cout << s[j];
}
cout << endl;
flag = 1;
break;
}
}
if (flag)
continue;
cout << s[0] << " ";
for (int i = 1; i <= len - 2; i++)
{
cout << s[i];
}
cout << " ";
cout << s[len - 1] << endl;
}
return 0;
}