uva 455 ----- Periodic Strings

需要注意一点就是最后一个数据不要空行

这道题也是今天最大的收获,学到很多

code:

#include <cstdio>
#include <cstring>
//只要找到周期值 T ,便可以解决问题 
#define Max 
int comp(char *s,int begin ,int len){
	for(int i =0;i < strlen(s);i++)
		  if(*(s+i) != *(s+(i%len)))
		        return 0;
	return 1;
}

int main(){
    int kase;
	char s[100];
	    scanf("%d",&kase);
		while(kase--){
			 memset(s,0,sizeof(s));
			 scanf("%s",s);
			 char c = s[0];
			 int len,i;
			      for(i  = 1;i < strlen(s);i++){
      			            int flag;
						   if(s[i] == c){
		      	                   len = i;
           						   flag = comp(s,0,len);    						    						    						   
				              if(flag&&strlen(s)%len == 0){
							    printf("%d\n",len); 
							    break;
   						      }
   				           }						        	
                  }
                  if(i == strlen(s))
                     printf("%d\n",strlen(s));
                  if(kase) printf("\n");   
	    }
	return 0;
}

  

posted on 2014-12-04 17:58  lzm420241  阅读(95)  评论(0)    收藏  举报

导航