TỪ ĐIỂN

Từ điển (dict.*)

Cho từ điển gồm \(n\) từ, mỗi từ tối đa 10 chữ cái thường và T truy vấn.

Yêu cầu: Mỗi truy vấn cho một dãy các chữ cái. Hãy cho biết với dãy chữ cái này thì có thể tạo ra từ nào trong từ điển.

Dữ liệu vào:

  • Dòng đầu tiên chứa số nguyên dương \(n\ (1\ \leq \ n\ \leq \ 10^{5})\).

  • n dòng tiếp theo chứa các từ trong từ điển.

  • Dòng tiếp theo chứa số nguyên dương \(T\ (1\ \leq \ T\ \leq \ {3.10}^{4})\).

  • T dòng tiếp theo, mỗi dòng chứa một dãy các chữ cái (không quá 10).

Kết quả: Ghi \(T\) dòng tương ứng là kết quả của \(T\) truy vấn. Mỗi dòng in ra từ trong từ điển có thể tạo ra. Nếu có nhiều kết quả thì in ra từ dài nhất. Nếu nhiều từ cùng độ dài nhất thì đưa ra từ có thứ tự từ điển nhỏ nhất. Nếu không tạo ra được từ nào thì in ra “IMPOSSIBLE”.

Ràng buộc:

  • 30% số test với \(1\ \leq \ n\ \leq \ 10^{5},\ 1\ \leq \ T\ \leq \ 4\)

  • 40% số test với \(5\ \leq \ n\ \leq \ 10^{5},\ 1\ \leq \ T\ \leq \ 1000\)

  • 30% số test với \(1\ \leq \ n\ \leq \ 10^{5},\ \ 1\ \leq \ T\ \leq \ {3.10}^{4}\)

Ví dụ:

Input Otput
6
hanoi
haiduong
hungyen
haiphong
danang
yenbai
5
howareyou
hfyuennug
xinchaovn
dhhpongaiu
ybaiengh
IMPOSSIBLE
hungyen
hanoi
haiduong
yenbai

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. ndhdang091011 (20/26)
  2. qa_0101 (7/18)
  3. tdos9281 (7/10)
Trong 7 ngày
  1. ndhdang091011 (104/140)
  2. trungdimid (37/86)
  3. nnminh1806 (28/62)
Trong 30 ngày
  1. ndhdang091011 (205/260)
  2. nnminh1806 (55/106)
  3. nsduc83 (41/54)
Thống kê
AC/Sub: 120817/226949
Pascal: 18142
C++: 157988
Python: 50747
Lượt xem/tải tests: 42506

Lưu Hải Phong - 2020
[email protected]