题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3793
C语言源码:
#include<stdio.h>
#include<string.h>
int sym(char s[],int n,int start,int end)
{
int i,j;
i=start;
j=end;
while(i!=j)
{
if(s[i]!=s[j])
return -1;
i=(i+1)%n;
j=(j-1+n)%n;
}
return i;
}
int main()
{
int len,i,sy,flag;
char s[110];
while(scanf("%s",s)!=EOF)
{
if(s[0]=='#'&&s[1]=='\0')
break;
len=(int)strlen(s);
flag=0;
for(i=0;i<len;i++)
{
sy=sym(s,len,i,(i+1)%len);
if(sy!=-1)
{
flag=1;
break;
}
}
if(flag)
printf("YES %d\n",sy);
else
printf("NO\n");
}
}