CF-798A
题意:
能否恰好改变一个字符,使字符串变成一个回文串。
注意当有奇数个字符且本身为回文串时可以只改变中间的字符。
要满足动一次的条件
AC代码:
1 #include<bits/stdc++.h> 2 using namespace std; 3 4 int main(){ 5 string s; 6 int cnt=0; 7 cin>>s; 8 for(int i=0,j=s.size()-1;i<j;i++,j--){ 9 if(s[i]!=s[j]){ 10 if(cnt==1){ 11 cout<<"NO"<<endl; 12 return 0; 13 } 14 cnt=1; 15 } 16 } 17 if(cnt==1||s.size()%2) 18 cout<<"YES"<<endl; 19 else 20 cout<<"NO"<<endl; 21 return 0; 22 }