CF1775A2题解
思路
首先,查找第 个字符到第 个字符是否有 a(其中 表示字符串的长度),如果有,设这个位置为 ,输出第 个字符到第 个字符然后输出空格,接着输出第 个字符,然后再输出一个空格最后输出第 个字符到第 个字符。
否则,说明 个字符都是 b,输出第 个字符、第 个字符、第 个字符。
代码
#include<bits/stdc++.h>
using namespace std;
int t;
char s[200010];
int main(){
scanf("%d",&t);
while(t--){
scanf("%s",s+1);
int n=strlen(s+1),l;
if(n<3){
printf(":(\n");
continue;
}
bool f=0;
for(int i=2;i<n;i++){
if(s[i]=='a'){
f=1;
l=i;
break;
}
}
if(!f){
printf("%c ",s[1]);
for(int i=2;i<n;i++) putchar(s[i]);
printf(" %c\n",s[n]);
}
else{
for(int i=1;i<l;i++) putchar(s[i]);
printf(" a ");
for(int i=l+1;i<=n;i++) putchar(s[i]);
putchar('\n');
}
}
return 0;
}

浙公网安备 33010602011771号