搞个代码试试

来源:互联网 发布:尔雅网络课程初始密码 编辑:程序博客网 时间: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;}
原创粉丝点击