問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
この問題では与えられた文字列 word がトライ木に格納された文字列であるかを確認し, 格納された文字列であるなら true
、そうでないなら false
を返すメソッド search(word: string): bool
を作成してください。
詳しい手順は述べませんが、word の対応する頂点が存在し、かつその頂点のメンバ変数 is_end
が true
であるなら word はトライ木に格納された文字列です。
N 個の文字列 S_1, ..., S_N が与えられます。
各 S_i をトライ木に格納した後, 以下の Q 個のクエリに答えてください。
・アルファベット小文字の文字列 T が与えられます。T がトライ木に格納された文字列なら Yes
、存在しないなら No
を出力してください。
N Q
S_1
...
S_N
query_1
...
query_Q
Tの形式で与えられます。
i 行目では i 番目のクエリに対する出力を行ってください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて, 以下の条件をみたします。
・ 1 ≦ N ≦ 100
・ 1 ≦ Q ≦ 10^4
・ S_i, T はアルファベット小文字の文字列
・ 1 ≦ |S_i|, |T| ≦ 10^3 (|S_i|はS_iの長さです)
4 5
test
tree
check
a
test
aaaaa
tester
a
b
Yes
No
No
Yes
No
3 2
abcde
fghijk
lmnxyz
abcde
xxxxxxxxxxx
Yes
No