Substring Search(部分文字列検索)
長いテキスト t
と文字列 s
が与えられたとき、テキスト t
の中で文字列 s
が出現するすべての場所を探し出す問題です。具体的には、t
の中で s
と一致する開始位置をすべて求めます。
Input(入力)
入力の最初の行には、テキスト t
が与えられます (1 ≤ |t| ≤ )。
続く2行目には文字列 s
が与えられます (1 ≤ |s| ≤ |t|)。
Output(出力)
テキスト t
の中で s
が出現するたびに、その開始位置を昇順に(テキストの先頭から末尾へ向かう順)空白区切りで出力してください。位置の番号付けは 0 から始まります。
Examples(例)
入力 | 出力 |
---|---|
habababohabo | 2 4 |
barfoobarfoobarfoobarfoobarfoo | 3 9 15 21 |
Explanation(解説)
habababohabo → ha
ba
babohabo, hababa
bohabobarfoobarfoobarfoobarfoobarfoo → bar
foobarfoo
barfoobarfoobarfoo, barfoobarfoobarfoo
barfoobarfoo, barfoobarfoobarfoobarfoo
barfoo, barfoobarfoobarfoobarfoobarfoo
Constraints
Time limit: 5 seconds
Memory limit: 512 MB
Output limit: 1 MB