給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫
敏感選項:當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元;當選項關閉時,表示同乙個字母的大寫和小寫看作相同的字元。
輸入格式
輸入的第一行包含乙個字串 s,由大小寫英文本母組成。
第二行包含乙個數字,表示大小寫敏感的選項,當數字為 0 時表示大小寫不敏感,當數字為 1
時表示大小寫敏感。
第三行包含乙個整數 n,表示給出的文字的行數。
接下來 n 行,每行包含乙個字串,字串由大小寫英文本母組成,不含空格和其他字元。
輸出格式
輸出多行,每行包含乙個字串,按出現的順序依次給出那些包含了字串 s 的行。
樣例輸入
hello15
helloworld
hihihellohihi
grepisagreattool
hello
helloisnothello
樣例輸出
helloworld
hihihellohihi
helloisnothello
樣例說明
在上面的樣例中,第四個字串雖然也是 hello,但是大小寫不正確。如果將輸入的第二行改為
0,則第四個字串應該輸出。
評測用例規模與約定
1<=n<=100,每個字串的長度不超過 100。
這個題的核心是字串匹配,可以用暴力匹配,kmp,bm等演算法解決問題,以下是c++**
#include
#include
using
namespace std;
void
getnext
(string t,
int* next)
else
k=next[k];}
}//getnext
intkmp
(string t,string p)
else
}//while
if(j==
(int
)t.length()
)return i-j;
else
return-1
;}//kmp
intmain()
}//if
while
(num)
}//if
result=
kmp(s,test);if
(result!=-1
)}//while
num--
;return0;
}
CCF 字串匹配
試題名稱 字串匹配 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫敏感選項 當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元 當選項關閉時,表示同乙個字母的大寫和小寫看作相同的字元。輸入格式 ...
ccf 字串匹配
問題描述 給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫敏感選項 當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元 當選項關閉時,表示同乙個字母的大寫和小寫看作相同的字元。輸入格式 輸入的第一行包含乙個字串s,由大小寫英文本母組成。第二行包含乙個數字,表示大小...
ccf 字串匹配
問題描述 給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫敏感選項 當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元 當選項關閉時,表示同乙個字母的大寫和小寫看作相同的字元。輸入格式 輸入的第一行包含乙個字串s,由大小寫英文本母組成。第二行包含乙個數字,表示大小...