code:
#include#include #define maxn 100int main(){ int T(0); scanf("%d", &T); while(T--) { char a[100]; scanf("%s",a); int n = strlen(a); int flag = 0; int i = 1; for(; i <= n; i++) { int j = 0; if(n%i != 0) continue; for(; j < n; j++) { if(a[j] != a[j%i]) break; } if(j >= n) flag = 1; if( flag ) break; } printf("%d\n",i); if(T) putchar('\n'); }}
- 这个题目要求一个字符串的最小周期,首先第一点,周期T一定要是字符串length的因子,否则不能称为周期,因而不满足的直接跳过。
- 格式问题:对于输入来说,回车、空格、制表符等是不会被标准输入读进去的,因而题目要求的连续的输入之间要空一行实际上并没有什么特别要求,可是对于输出来说所有的换行必须要通过自己的换行符号来进行,除了最后一个输出外,别的每一个输出之后都要多加一个换行,才能符合格式的要求。不然Presentation error等着你哦。