給定兩個由英文本母組成的字串 string 和 pattern,要求找到 pattern 在 string 中第一次出現的位置,並將此位置後的 string 的子串輸出。如果找不到,則輸出「not found」。
本題旨在測試各種不同的匹配演算法在各種資料情況下的表現。各組測試資料特點如下:
輸入第一行給出 string,為由英文本母組成的、長度不超過 106 的字串。第二行給出乙個正整數 n(≤10),為待匹配的模式串的個數。隨後 n 行,每行給出乙個 pattern,為由英文本母組成的、長度不超過 105 的字串。每個字串都非空,以回車結束。
對每個 pattern,按照題面要求輸出匹配結果。
abcabcabcabcacabxy
3abcabcacab
cabcabcd
abcabcabcabcacabxyz
abcabcacabxy
not found
not found
#include "bits/stdc++.h"
using namespace std;
int search_next[100000];
void to_next(string pattern)
else match = search_next[match];
}}int to_find(string text, string pattern)
return -1;
}int main(int argc, char const *ar**)
}return 0;
}
KMP 串的模式匹配 25 分
給定兩個由英文本母組成的字串 string 和 pattern,要求找到 pattern 在 string 中第一次出現的位置,並將此位置後的 string 的子串輸出。如果找不到,則輸出 not found 本題旨在測試各種不同的匹配演算法在各種資料情況下的表現。各組測試資料特點如下 輸入第一行給...
c語言 KMP 串的模式匹配 25分
本博文源於浙江大學 資料結構 此題的解答是對kmp的演算法的應用,直接將kmp演算法copy,稍微裁剪一下就行了。c語言浙大版 kmp模式串匹配實現 直接按照此修改,沒有太大難度。kmp實現 include include include typedef int position define no...
7 7 螺旋方陣 (25 分
所謂 螺旋方陣 是指對任意給定的n,將1到n n的數字從左上角第1個格仔開始,按順時針螺旋方向順序填入n n的方陣裡。本題要求構造這樣的螺旋方陣。輸入在一行中給出乙個正整數n 10 輸出n n的螺旋方陣。每行n個數字,每個數字佔3位。51 2 3 4 5 16 17 18 19 6 15 24 25...