CCF 字串匹配

2021-10-19 11:19:19 字數 1324 閱讀 5853

給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫

敏感選項:當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元;當選項關閉時,表示同乙個字母的大寫和小寫看作相同的字元。

輸入格式

輸入的第一行包含乙個字串 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,由大小寫英文本母組成。第二行包含乙個數字,表示大小...