题解 | #密码截取#
密码截取
http://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
#include <string.h>
int min(int x,int y)
{
if(x<y)
return x;
else
return y;
}
int main()
{
int i,j,a=1,max=0;
char str[2502]={0};
scanf("%s",str);
for(i=1;i<strlen(str);i++)
{ a=1;
for(j=1;j<min(i+1,strlen(str)-i);j++)
{
if(str[i+j]==str[i-j])
a+=2;
if(str[i+j]!=str[i-j])
break;
}
if(max<a)
max=a;
}
for(i=1;i<strlen(str);i++)
{
a=0;
for(j=1;j<min(i+2,strlen(str)-i);j++)
{
if(str[i-j+1]==str[i+j])
a+=2;
if(str[i-j+1]!=str[i+j])
break;
}
if(max<a)
max=a;
}
printf("%d",max);
}