水题:P2799 国王的魔镜
Posted alingmaomao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了水题: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; }
以上是关于水题:P2799 国王的魔镜的主要内容,如果未能解决你的问题,请参考以下文章