1 solutions

  • 1
    @ 2025-4-21 14:15:09
    #include <bits/stdc++.h>
    using namespace std;
    int main() 
    {
    	string s;
    	cin>>s;
    	int n=s.size();
    	int c1=0,c2=0;
    	for(int i=0;i<n;i++)
    	{
    		if(s[i]=='a') c1++;
    		else break;	
    	} 
    	for(int i=n-1;i>=0;i--)
    	{
    		if(s[i]=='a') c2++;
    		else break; 
    	}
    	if(c1==n) //全是a 
    	{
    		cout<<"Yes";
    		return 0;
    	}
    	if(c1>c2) //前面的a太多了 
    	{
    		cout<<"No";
    		return 0;
    	} 
    	for(int i=c1,j=n-c2-1;i<j;i++,j--) //首尾比较非a序列 
    	{
    		if(s[i]!=s[j])
    		{
    			cout<<"No";
    			return 0;
    		}
    	}
    	cout<<"Yes";//所有的首位都是相等的 
    	return 0;
    }
    
    • 1

    Information

    ID
    2425
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    3
    Tags
    (None)
    # Submissions
    7
    Accepted
    3
    Uploaded By