摘要
题意
给一个字符串,要求判断加入一位能否使得其变成回文字符串。
题解
- 由于数据量很小,所以直接暴力插入,逐个验证就好了。
代码
505A.cpp代码已折叠
展开折叠内容
|
- #include <iostream>
- #include<cstdio>
- #include<algorithm>
- #include<cmath>
- #include<cstdlib>
- #include<climits>
- #include<queue>
- #include<vector>
- #define f(i,n) for(int i=1;i<=n;++i)
- #define fi(i,t,n)for(int i=t;i<=n;++i)
- #define fd(i,n) for(int i=n;i>=1;--i)
- #define fdi(i,t,n) for(int i=n;i>=t;--i)
- #define foreach(i,s) for(typeof(s.begin()) i=s.begin();i!=s.end();++i)
- #define rforeach(i,s) for(typeof(s.rbegin()) i=s.rbegin();i!=s.rend();++i)
- #define si(n) scanf("%d",&n)
- #define dsi(n) int n;scanf("%d",&n)
- #define llu unsigned long long
- #define lld long long
- #define ci const int &
- using namespace std;
- bool isPalindrome(const string &s)
- {
- for(int i=0;i!=s.size();++i)
- if(s[i]!=s[s.size()-1-i])
- return false;
- return true;
- }
- int main()
- {
- string s;
- cin>>s;
- int u=s.size();
- fi(i,0,s.size())
- {
- for(int p='a';p<='z';++p)
- {
- string t=s;
- t.insert(i,1,p);
- //cout<<t<<endl;
- if(isPalindrome(t))
- {
- cout<<t;
- return 0;
- }
- }
- }
- cout<<"NA";
- return 0;
- }
|