题目为:
代码如下:
#include<stdio.h>
#include<string.h>
#define max 100
int main(){
int n=0;
// freopen("input.txt","r",stdin);
scanf("%d",&n);
for(int i=0;i<n;i++){
char s[max];
char temp[max];
memset(temp,0,sizeof(temp));//初始化变量,不然会输出错误
int label=0;//用于判断结束循环的标志
scanf("%s",s);
for(int j=1;j<=strlen(s);j++){//暴力遍历求最短串 && j代表最短串的位数
temp[j-1]=s[j-1];
int l=0;
for(int k=0;k<strlen(s);k++,l=(l+1)%j){
if(temp[l]!=s[k]){//不同就退出判断循环
break;
}
if(k==strlen(s)-1){//找到最短串
label=1;
}
}
if(label==1){
break;
}
}
// for(int i=0;i<strlen(temp);i++){
// printf("%c",temp[i]);
// }
printf("%d\n",strlen(temp));
if(i<n-1){
printf("\n");
}
}
}
本地调试输出结果正确,但是上传到oj后显示wrong answer