20261107测试--A.变回文
思路
首枚举插入的位置,再枚举插入的字母,最后再判断回文。复杂度O(\(T \times n^2 \times 26\))。
代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
string s,ans;
cin>>s;
for(int i=0;i<=s.size();i++){
for(int j=0;j<=25;j++){
char c='a'+j;
string cc;
string s1=s;
cc+=c;
s1.insert(i,cc);
bool f=0;
for(int k=0;k<s1.size();k++){
if(s1[k]!=s1[s1.size()-k-1]){
f=1;
break;
}
}
if(!f)ans=s1;
}
if(ans!="")break;
}
if(ans!="")cout<<ans<<'\n';
else cout<<"NA\n";
}
return 0;
}

浙公网安备 33010602011771号