zoukankan      html  css  js  c++  java
  • POJ 2406:Power Strings

    Power Strings
    Time Limit: 3000MS   Memory Limit: 65536K
    Total Submissions: 41252   Accepted: 17152

    Description

    Given two strings a and b we define a*b to be their concatenation. For example, if a = "abc" and b = "def" then a*b = "abcdef". If we think of concatenation as multiplication, exponentiation by a non-negative integer is defined in the normal way: a^0 = "" (the empty string) and a^(n+1) = a*(a^n).

    Input

    Each test case is a line of input representing s, a string of printable characters. The length of s will be at least 1 and will not exceed 1 million characters. A line containing a period follows the last test case.

    Output

    For each s you should print the largest n such that s = a^n for some string a.

    Sample Input

    abcd
    aaaa
    ababab
    .
    

    Sample Output

    1
    4
    3
    

    Hint

    This problem has huge input, use scanf instead of cin to avoid time limit exceed.

    题意:

    给出的一个字符串某个字串链接N次得出的,求最大N;


    思想:

    KMP匹配算法之next[];模式串结尾指针回溯最小移动次数即最小字串长度,N=s.length%(s.length-next[s.length]);


    #include <stdio.h>
    #include <string.h>
    char s[1000005];
    int num[1000005];
    int main()
    {
        while(scanf("%s",s),s[0]!='.')
        {
            int j=-1;
            num[0]=-1;
            int n=strlen(s);
            for(int i=0; i<n;)
            {
                if(j==-1||s[i]==s[j])num[++i]=++j;
                else j=num[j];
            }
            if(n%(n-num[n])==0)
                printf("%d
    ",n/(n-num[n]));
            else printf("1
    ");
        }
        return 0;
    }
    


  • 相关阅读:
    5.1.5 JunkMail Filter
    POJ1067 取石子游戏 跪跪跪,很好的博弈论
    USACO Section 3.2 Magic Squares (msquare)
    5.1.1 A Bug's Life
    USACO Section 3.3 Riding The Fences (fence)
    USACO Section 3.1 Stamps (stamps)
    5.2.7 Entropy
    USACO Section 3.1 AgriNet (agrinet)
    5.1.8 How Many Answers Are Wrong
    4.3.6 N皇后问题
  • 原文地址:https://www.cnblogs.com/im0qianqian/p/5989371.html
Copyright © 2011-2022 走看看