///易忽略偶数对称情况,例如样例是"abccba"的情况
///所以分两次遍历,一次是奇数对称情况,一次是偶数对称情况
#include <bits/stdc++.h>
#include <string>
#include <iostream>
using namespace std;
int main()
{
char s[1002];
///scanf("%[^\n]", s);
cin.get(s, 1002);///这样可以输入空格,遇回车终止输入,上面注释那行输入也可以
int len = strlen(s);
int maxnum = 1;
for(int i = 0; i < len; ++i){
///奇数情况
int l = i-1, r = i+1;
int num = 1;
while(l >=0 && r <len){
if(s[l]!=s[r]) break;
num += 2;
--l; ++r;
}
maxnum = max(maxnum, num);
///偶数情况
l = i, r = i+1;///忽略的地方
num = 0;
while(l >=0 && r <len){
if(s[l]!=s[r]) break;
num += 2;
--l; ++r;
}
maxnum = max(maxnum, num);
}
printf("%d\n", maxnum);
return 0;
}
PAT甲级1040
最新推荐文章于 2024-07-13 03:01:23 发布