Bài 2: Hệ thống gợi ý (TS10 Đà Nẵng - 2026)
Xem PDFMộ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 và 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\) theo thứ tự từ điển mà ứng dụng sẽ gợi ý khi người dùng nhập vào từ \(W\) 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
- Ghi ra \(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.
Example
Test 1
Input
10 3
dab
ba
ab
daa
aa
aaa
aab
abc
ac
dadba
4 a
2 da
4 da
Output
3
1
-1
Note
- 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.
Ràng buộc
- Có \(50\%\) số test ứng với \(50\%\) số điểm thoả mãn: \(n \le 3000, m \le 300\) và các từ có độ dài không quá \(50\);
- Có \(50\%\) số test còn lại ứng với \(50\%\) số điểm thoả mãn: \(n \le 3000, m \le 10000\) và tổng độ dài các từ không vượt quá \(10^6\).
Kỳ thi:
- Đề TS 10 LQĐ Đà Nẵng 2026 (25 Tháng năm, 2026)
Bình luận