問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
英小文字から2つの文字列 S と T が入力として与えられます。
文字列 S が文字列 T に現れるかどうかを判定してください。
つまり、文字列 T の部分文字列のうち、文字列 S と一致するものが存在するかどうかを判定してください。
S = ask
T = paizaskillcheck
の場合、S = ask
は T の 5 文字目から 7 文字目までの部分文字列なので、S は T に現れます。
ヒント :
明らかに S と一致しなさそうな部分を比較するのは無駄なので、S が含まれる可能性がある部分だけ見たい!!!
1 つ前の問題で求めた答えを見たら何かわかるかも??
入力は以下のフォーマットで与えられます
S
T
S が T の部分文字列のうちいずれかと一致するなら Yes
を、そうでないなら No
を一行で出力してください。
ただし、末尾には改行を入れ、
余計な文字や空白、空行を出力しないようにしてください。
すべてのテストケースにおいて、以下の条件をみたします。
・1 ≦ |S| ≦ 10^6
・1 ≦ |T| ≦ 2×10^6
・|S| ≦ |T|
・|S|, |T| はそれぞれ文字列 S の長さと文字列 T の長さを表します。
・S, T は英小文字のみからなる文字列
ask
paizaskillcheck
Yes