1. paizaラーニングトップ
  2. レベルアップ問題集
  3. トライ木メニュー(言語選択)
  4. 問題一覧 Go編
  5. キーの確認 Go編

トライ木メニューのサムネイル
キーの確認 Go編(paizaランク B 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

この問題では与えられた文字列 word がトライ木に格納された文字列であるかを確認し, 格納された文字列であるなら true 、そうでないなら false を返すメソッド search(word: string): bool を作成してください。
詳しい手順は述べませんが、word の対応する頂点が存在し、かつその頂点のメンバ変数 is_endtrue であるなら word はトライ木に格納された文字列です。

N 個の文字列 S_1, ..., S_N が与えられます。
各 S_i をトライ木に格納した後, 以下の Q 個のクエリに答えてください。
・アルファベット小文字の文字列 T が与えられます。T がトライ木に格納された文字列なら Yes 、存在しないなら No を出力してください。

入力される値

N Q
S_1
...
S_N
query_1
...
query_Q


・ 1 行目に N, Q が与えられます。続いて文字列 S_1, ..., S_N が与えられ、その後に続く Q 行のクエリが与えられます。各クエリは
T
の形式で与えられます。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

i 行目では i 番目のクエリに対する出力を行ってください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて, 以下の条件をみたします。
・ 1 ≦ N ≦ 100
・ 1 ≦ Q ≦ 10^4
・ S_i, T はアルファベット小文字の文字列
・ 1 ≦ |S_i|, |T| ≦ 10^3 (|S_i|はS_iの長さです)

入力例1

4 5
test
tree
check
a
test
aaaaa
tester
a
b

出力例1

Yes
No
No
Yes
No

入力例2

3 2
abcde
fghijk
lmnxyz
abcde
xxxxxxxxxxx

出力例2

Yes
No

問題一覧へ戻る

ページの先頭へ戻る