水题:P2799 国王的魔镜

思路:简单模拟即可。判断一下是不是回文,是回文看长度是不是偶数。是偶数的话,说明又可能是回文。依次这样处理。但是只要长度为奇数则一定是原来的长度直接输出即可。

#include<iostream>
#include<cstring>
using namespace std; const int maxn = + ;
char num[maxn]; bool flag(int x){
int p = , q = x-;
while (p < q&&num[p] == num[q]){ ++p; --q; }
if (p < q)return ;
return ;
} int main(){
cin >> num;
int len = strlen(num);
if (len % ){ cout << len << endl; return ; }
while (len / ){
if (flag(len))len /= ;
else break;
if (len % )break;
}
cout << len << endl;
}
上一篇:React.js再探(二)


下一篇:iOS开发之单例设计模式(完整正确版本)