求助,T两个点
查看原帖
求助,T两个点
1033649
wsljh楼主2024/8/23 15:50
#include<bits/stdc++.h>
using namespace std;
int t,f;
string s;
bool pen(string s)
{
	string s1,s2;
	int i,j;
	for(i=0;i<s.size();i++)
	{
		if(s[i]!='l'&&s[i]!='q'&&s[i]!='b')break;
		s1=s1+s[i];
	}
	for(j=s.size()-1;j>=0;j--)
	{
		if(s[j]!='l'&&s[j]!='q'&&s[j]!='b')break;
		s2=s[j]+s2;
	}
	if(s1.size()==s2.size()==s.size())return true;
	while(i<=j)
	{
		if(s[i]!=s[j])return false;
		i++,j--;
	}
	for(int k=0;k<s1.size()&&k<s2.size();k++)
	{
		if(s1[s1.size()-1-k]!=s2[k])return false;
	}
	return true;
}
int main()
{
	cin>>t;
	while(t--)
	{
		cin>>s;
		f=0;
		int l=0,r=s.size()-1;
		while(l<=r)
		{
			if(s[l]!=s[r]&&!f)
			{
				if(pen(s))cout<<"Yes"<<endl;
				else cout<<"No"<<endl;
				f=1;
				break;
			}
			l++,r--;
		}
		if(!f)cout<<"Yes"<<endl;
	}
	return 0;
} 
2024/8/23 15:50
加载中...