字串匹配

2021-08-27 08:52:44 字數 1225 閱讀 2167

問題描述

試題編號:

201409-3

試題名稱:

字串匹配

時間限制:

1.0s

記憶體限制:

256.0mb

問題描述:

問題描述

給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫敏感選項:當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元;當選項關閉時,表示同乙個字母的大寫和小寫看作相同的字元。

輸入格式

輸入的第一行包含乙個字串s,由大小寫英文本母組成。

第二行包含乙個數字,表示大小寫敏感的選項,當數字為0時表示大小寫不敏感,當數字為1時表示大小寫敏感。

第三行包含乙個整數n,表示給出的文字的行數。

接下來n行,每行包含乙個字串,字串由大小寫英文本母組成,不含空格和其他字元。

輸出格式

輸出多行,每行包含乙個字串,按出現的順序依次給出那些包含了字串s的行。

樣例輸入

hello15

helloworld

hihihellohihi

grepisagreattool

hello

helloisnothello

樣例輸出

helloworld

hihihellohihi

helloisnothello

樣例說明

在上面的樣例中,第四個字串雖然也是hello,但是大小寫不正確。如果將輸入的第二行改為0,則第四個字串應該輸出。

評測用例規模與約定

1<=n<=100,每個字串的長度不超過100。

簡單的stl處理,使用vector存放所有單詞,判斷是否大小寫敏感,不敏感則將 模式串變為小寫,判斷時檢視主串中是否含有模式串即可。

#include #include #include #define rep(i,s,e) for(int i = s;idis;

string format;

string str;

int judge;

int n;

void tolower(string &str)

}}int main()

int len = dis.size();

if(!judge)

for(int i = 0 ; iif(str.find(format)!=-1)

}}

字串匹配

題目描述 讀入資料string 然後讀入乙個短字串。要求查詢string 中和短字串的所有匹配,輸出行號 匹配字串。匹配時不區分大小寫,並且可以有乙個用中括號表示的模式匹配。如 aa 123 bb 就是說aa1bb aa2bb aa3bb都算匹配。輸入 輸入有多組資料。每組資料第一行輸入n 1 n ...

字串匹配

time limit 1000ms memory limit 65536k 給定兩個字串string1和string2,判斷string2是否為string1的子串。輸入包含多組資料,每組測試資料報含兩行,第一行代表string1,第二行代表string2,string1和string2中保證不出現...

字串匹配

面試題 給一串很長的字串,要求找到符合要求的字串,例如目的串 123 1 3 2 12 3 這些都要找出來 思路一 利用兩層迴圈,逐個查詢目的串中的字元,比如先查詢字元 1 是否在長字串中,再查詢 2 是否在長字串中,直到目的串遇到 0 是 include include include int m...