CF1775A2题解

思路

首先,查找第 22 个字符到第 n1n-1 个字符是否有 a(其中 nn 表示字符串的长度),如果有,设这个位置为 kk,输出第 11 个字符到第 k1k-1 个字符然后输出空格,接着输出第 kk 个字符,然后再输出一个空格最后输出第 k+1k+1 个字符到第 nn 个字符。

否则,说明 2n12\sim n-1 个字符都是 b,输出第 11 个字符、第 2n12\sim n-1 个字符、第 nn 个字符。

代码

#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;
}
posted @ 2023-01-11 11:29  fengxiaoyi  阅读(6)  评论(0)    收藏  举报  来源