添加一个字母,使输入时间最大
1. str.size() == 1, 重复输出
2. 如果中间有重复的字母,中间插入一个字母断开。
3. 如果中间没有重复的字母,在第二个位置插入一个不同的字母即可
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#include "bits/stdc++.h"
using namespace std;
#define ios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define fios ofstream("test.txt");cout.rdbuf(out.rdbuf())
#define INF 0x3f3f3f3f
#define MINF 2147483647
#define eps 1e-6
#define PI acos(-1)
#define lowbit(x) (x & (-x))
typedef unsigned long long ULL;
typedef long long LL;
typedef pair<int, int> PII;
#define x first
#define y second
const int N = 15;
string str;
int main()
{
int T;
cin >> T;
while(T--)
{
cin >> str;
if(str.size() == 1)
{
char ch = 'a';
while(str[0] == ch) ch++;
str += ch;
}
//最好断开一个相同的位置
else
{
int idx = -1;
for(int i = 1; i < str.size(); i++)
if(str[i - 1] == str[i])
{
idx = i - 1;
break;
}
if(idx != -1)
{
char ch = 'a';
while(str[idx] == ch) ch++;
str = str.substr(0, idx + 1) + ch + str.substr(idx + 1);
}
else
{
char ch = 'a';
while(str[0] == ch || str[1] == ch) ch++;
str = str.substr(0, 1) + ch + str.substr(1);
}
}
cout << str << endl;
}
return 0;
}