标签:edit 难度 测试数据 code color else scan 判断 turn
2 1 6
41
1 #include<stdio.h> 2 #include<string.h> 3 int main() 4 { 5 char a[100]; 6 int i,len,temp,num; 7 scanf("%d",&num);//num组测试数据 8 getchar();//用于接收空格 9 while(num--) 10 { 11 gets(a); 12 len=strlen(a); 13 while(1) 14 { 15 if(len==2&&a[0]!=a[1])//串长为2,且两个字符不一样,输出串长为2 16 { 17 printf("2\n"); 18 break; 19 } 20 else if(len%2!=0)//如果串长为奇数,串不可能是镜面对称得来的,直接输出长度 21 { 22 printf("%d\n",len); 23 break; 24 } 25 else 26 { 27 int d=0; 28 len=len/2;//将串对半劈开,进行比较 29 for(i=0;i<len;i++) 30 if(a[i]!=a[2*len-i-1]) 31 { 32 d=1;//代表中间有不对称的地方 33 break; 34 } 35 if(d==1) 36 { 37 printf("%d\n",2*len);//d为1代表串不是镜面对称的,结束循环,输出答案 38 break; 39 } 40 } 41 } 42 } 43 return 0; 44 }
标签:edit 难度 测试数据 code color else scan 判断 turn
原文地址:http://www.cnblogs.com/wei-xing/p/7350533.html