超时,求优化
查看原帖
超时,求优化
1089206
_safdsfdeaf_楼主2024/11/30 19:07
#include<bits/stdc++.h>
#include<stack>
using namespace std;
int n;
string s,s1,s2="";
stack<char>a;
int i,k,l; 
bool flag1,flag2;
bool p(string s){
	for(i=0;i<s.size();i++)
		a.push(s[i]);
	for(i=0;i<(a.size()/2);i++){
		if(a.top()==s[i]) a.pop();
		else return false;
	}
	return true;
}
int main(){
	cin>>n;
	for(i=0;i<n;i++){
		s1=s2="";
		flag1=false;
		flag2=false;
		cin>>s;
		s1+=s[0];
		for(k=1;k<s.length()-2;k++){
			s1+=s[k];
			flag1=p(s1);
			for(l=k+1;l<s.length();l++)
				s2+=s[l];
			flag2=p(s2);
			if(p(s1)&&p(s2)){
				cout<<"Yes"<<endl;
				break;
			}
		}
		if(!(p(s1)&&p(s2))) cout<<"No"<<endl;
	}
	return 0;
}
2024/11/30 19:07
加载中...