搞个代码试试
来源:互联网 发布:尔雅网络课程初始密码 编辑:程序博客网 时间:2024/05/01 09:36
#include <iostream>using namespace std;char b[1000005];char next[1000005];int lb;void setnext(){ int i, j; next[1] = 0; for (i = 1, j = 0; i <= lb;) { if (j == 0 || b[i] == b[j]) { i++; j++; next[i] = j; } else { j = next[j]; } }}int main(){ int i; int d; b[0] = 'a'; while (scanf("%s", b + 1) && b[1] != '.') { lb = strlen(b) - 1; setnext(); d = lb - next[lb]; if (lb % d > 0) { printf("1/n"); continue; } else printf("%d/n", lb / d); } return 0;}