PTA 7-4列のパターンマッチング(25点)


2つの英字文字列StringとPatternが与えられ、StringでPatternが最初に現れる位置を見つけ、その位置の後のStringのサブストリングを出力する必要がある.見つからない場合は「Not Found」を出力します.
本問題は,種々の異なるマッチングアルゴリズムの種々のデータの場合の表現をテストすることを目的とする.各グループのテストデータの特徴は以下の通りである.
  • データ0:小規模文字列、基本的な正確性をテストする;
  • データ1:ランダムデータ、String長さ10 5、Pattern長さ10;
  • データ2:ランダムデータ、String長さ10 5、Pattern長さ10 2;
  • データ3:ランダムデータ、String長さ10 5、Pattern長さ10 3;
  • データ4:ランダムデータ、String長さ10 5、Pattern長さ10 4;
  • データ5:String長さは10 6、Pattern長さは10 5.末尾文字が一致しない場合をテストします.
  • データ6:String長さは10 6、Pattern長さは10 5である.最初の文字が一致しない場合をテストします.

  • 入力形式:


    最初の行にStringを入力します.英字で構成され、長さが10 6を超えない文字列です.2行目は、一致するパターン列の個数である正の整数N(≦10)を与える.その後、N行、各行に1つのPatternが与えられ、英字で構成され、長さが10 5を超えない文字列が与えられる.各文字列は空ではなく、車に戻って終了します.

    出力フォーマット:


    各Patternについて,問題面の要求に従ってマッチング結果を出力する.

    サンプルを入力:

    abcabcabcabcacabxy
    3
    abcabcacab
    cabcabcd
    abcabcabcabcacabxyz
    

    出力サンプル:

    abcabcacabxy
    Not Found
    Not Found

    ブロガーは最初はKMPモードマッチングアルゴリズムを使っていましたが、いつも5番目のテストポイントでエラーが発生し、仕方なく、最後にC標準ライブラリの文字列マッチング関数strstr()を使ってテストに成功し、標準ライブラリがあるのは本当に気持ちがいいです.
    #include
    #include 
    #include
    #include
    using namespace std;
    int main()
    {
        char s1[1000001];
        scanf("%s",s1);
        int N;
        cin >> N;
        char s2[10][100001];
        for(int i = 0;i>s2[i];
        }
        string s3[10];
        char *s;
        for(int i = 0;i

    ここにKMPアルゴリズムのプログラムを貼って、大物が間違いを指摘してくれることを望んでいます.
    #include
    #include 
    #include
    #include
    using namespace std;
    
    const int MAX = 100001;
    
    void get_next(string t,int *next)
    {
        int i = 0;//next 
        int j = -1;//next[] , 0~m-1
        next[0] = -1;
        while(i=length) return i-length;
        else return 0;
    }
    int main()
    {
        string s;
        cin >> s;
        int N;// 
        cin >> N;
        string t[N];
        for(int i = 0;i> t[i];
        }
        int result[N];
        for(int i = 0;i < N;i++)
        {
            result[i] = KMP(s,t[i]);
        }
        for(int i = 0;i