题解 | #密码截取#
密码截取
http://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
#include<stdio.h>
#include<string.h>
int main()
{
char str[2500];
scanf("%s", str);
int len = strlen(str);
int max = 0;
for(int i=0; i<len; i++) //abba型
{
int cnt = 0;
if(str[i] == str[i+1])
{
for(int j=0; j<len; j++)
{
if(str[i-j]==str[i+j+1] && i-j>=0 && i+j+1<len)
cnt++;
else
break;
}
}
max = max > 2*cnt ? max : 2*cnt;
}
for(int i=0; i<len; i++) //abba型
{
int cnt = 0;
if(str[i-1] == str[i+1])
{
for(int j=0; j<len; j++)
{
if(str[i-j-1]==str[i+j+1] && i-j-1>=0 && i+j+1<len)
cnt++;
else
break;
}
}
max = max > 2*cnt+1 ? max : 2*cnt+1;
}
if(max > 0)
printf("%d", max);
else
printf("1");
return 0;
}