TS10 Đà Nẵng 2026 - Hệ thống gợi ý

Xem dạng PDF

Gửi bài giải

Điểm: 17,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Một nhóm kĩ sư phần mềm Z đang thử nghiệm ứng dụng gợi ý nhắn tin trên điện thoại với một bộ danh mục gồm ~n~ từ vựng, mỗi từ là một xâu chỉ gồm các kí tự latin in thường (từ 'a' đến 'z'). Khi người dùng nhập vào một từ ~W~ (cũng chỉ gồm các kí tự latin in thường), ứng dụng gợi ý sẽ liệt kê tất cả các từ vựng trong danh mục nhận ~W~ làm tiền tố để người dùng có thể nhanh chóng lựa chọn.

Một xâu ~A~ được gọi là tiền tố của xâu ~B~ nếu phần đầu của xâu ~B~ khớp với toàn bộ xâu ~A~, ví dụ: Xâu "danang" có các tiền tố là "d", "da", "dan", "dana", "danan""danang".

Yêu cầu: Cho danh mục ~n~ từ vựng và ~m~ câu hỏi, câu hỏi thứ ~i~ có dạng ~k_i~ và từ ~W_i~. Hãy tìm từ vựng thứ ~k_i~ theo thứ tự từ điển mà ứng dụng sẽ gợi ý khi người dùng nhập vào từ ~W_i~ và in ra chỉ số của từ vựng đó trong danh mục (chỉ số danh mục được đánh từ ~1~ đến ~n~).

Input

  • Dòng thứ nhất chứa hai số nguyên dương ~n~ và ~m~;

  • Mỗi dòng trong ~n~ dòng tiếp theo chứa một từ vựng trong danh mục;

  • Dòng thứ ~i~ trong ~m~ dòng tiếp theo chứa số nguyên dương ~k_i~ và từ ~W_i~ thể hiện một câu hỏi ~(|W_i| \le 1000)~.

Output

Gồm ~m~ dòng, dòng thứ ~i~ chứa một số nguyên là câu trả lời cho câu hỏi thứ ~i~, hoặc số nguyên ~-1~ nếu không tồn tại một xâu như vậy.

Scoring

Subtask Điểm Ràng buộc
1 ~50\%~ ~n \le 3000, m \le 300~, độ dài các từ không quá ~50~
2 ~50\%~ ~n \le 3000, m \le 10000~, độ dài các từ không vượt quá ~10^6~

Sample Input 1

10 3
dab
ba
ab
daa
aa
aaa
aab
abc
ac
dadba
4 a
2 da
4 da

Sample Output 1

3
1
-1

Notes

  • Câu hỏi thứ nhất: Khi người dùng nhập a, ứng dụng sẽ gợi ý các từ theo thứ tự từ điển là: {aa, aaa, aab, ab, abc, ac}. Từ thứ ~4~ là ab, có chỉ số là ~3~ trong danh mục.

  • Câu hỏi thứ hai: Khi người dùng nhập da, ứng dụng sẽ gợi ý các từ theo thứ tự từ điển là: {daa, dab, dadba}. Từ thứ ~2~ là dab, có chỉ số là ~1~ trong danh mục.

  • Câu hỏi thứ ba: Khi người dùng nhập da, ứng dụng sẽ gợi ý các từ theo thứ tự từ điển là: {daa, dab, dadba}. Từ thứ ~4~ không có trong danh sách gợi ý nên in ra ~-1~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.