(2013 1)字串匹配輸出所有匹配pos

2021-09-11 19:15:29 字數 669 閱讀 2711

對於主串m和模式串p,找到p在m**現的所有子串的第乙個字元在p中的位置。p中第乙個字元所在的位置為0。首行的數字表示有多少組字串。

輸入:

2

ababababa

ababa

aaaaa

輸出:

0 2 4

0 1

從頭在m中匹配p,找到匹配的第乙個字串pos,繼續從pos+1開始下一次匹配

string

str.find(str1), 當str1是str的子串時,返回其在str中第一次出現的位置;如果不是,返回string::npos;

string::npos本身值為1, 可以作為find函式失配時的返回值

str.find(str1, pos)從pos位開始匹配str1,返回值與上面相同

#include #include #include using namespace std;

void solve(string m, string p)

else

break;

}printf("\n");

}int main()

return 0;

}

201409 3 字串匹配

試題編號 201409 3 試題名稱 字串匹配 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫敏感選項 當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元 當選項關閉時,表示同乙個字母的大寫和小...

20140903 字串匹配

問題描述 試題編號 201409 3 試題名稱 字串匹配 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫敏感選項 當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元 當選項關閉時,表示同乙個字母...

201409 3 字串匹配

問題描述 給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫敏感選項 當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元 當選項關閉時,表示同乙個字母的大寫和小寫看作相同的字元。輸入格式 輸入的第一行包含乙個字串s,由大小寫英文本母組成。第二行包含乙個數字,表示大小...