水题:P2799 国王的魔镜
作者:互联网
思路:简单模拟即可。判断一下是不是回文,是回文看长度是不是偶数。是偶数的话,说明又可能是回文。依次这样处理。但是只要长度为奇数则一定是原来的长度直接输出即可。
#include<iostream> #include<cstring> using namespace std; const int maxn = 100000 + 10; char num[maxn]; bool flag(int x){ int p = 0, q = x-1; while (p < q&&num[p] == num[q]){ ++p; --q; } if (p < q)return 0; return 1; } int main(){ cin >> num; int len = strlen(num); if (len % 2){ cout << len << endl; return 0; } while (len / 2){ if (flag(len))len /= 2; else break; if (len % 2)break; } cout << len << endl; }
标签:魔镜,return,水题,int,P2799,num,maxn,include,回文 来源: https://www.cnblogs.com/ALINGMAOMAO/p/10386691.html