88分,WA #3,哪位大佬可以帮帮我呢?(๑•̀ㅂ•́)و✧
查看原帖
88分,WA #3,哪位大佬可以帮帮我呢?(๑•̀ㅂ•́)و✧
658786
STUDENT00楼主2022/9/5 20:58

代码很好理解的:

#include<bits/stdc++.h>
using namespace std;
int len,l,r,c[20010];
string p,str,ss;
int main(){
	getline(cin,str);
	while(getline(cin,p)) str=str+'\n'+p;
	for(int i=0;i<str.length();i++){
		if(str[i]>='a'&&str[i]<='z'){
			ss+=char(str[i]-32);
			c[ss.length()-1]=i;
		}
		if(str[i]>='A'&&str[i]<='Z'){
			ss+=str[i];
			c[ss.length()-1]=i;
		}
	}
	for(int i=0;i<ss.length();i++){
		int p=i,q=i;
		while(p>0&&q<ss.length()-1&&ss[p-1]==ss[q+1]){p--; q++;}
		if(q-p+1>len){
			l=c[p];
			r=c[q];
			len=q-p+1;
		}
	}
	printf("%d\n",len);
	for(int i=l;i<=r;i++) putchar(str[i]);
	return 0;
}
2022/9/5 20:58
加载中...