Tách từ
Xem dưới dạng PDF
Gửi bài giải
Điểm:
15
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Bé Bình mới vào lớp Một và đang học ghép vần. Trong giờ Tiếng Việt, cô giáo đưa cho Bình một xâu chữ cái \(S\) dài và một danh sách gồm \(N\) từ vựng đã học. Nhiệm vụ của Bình là kiểm tra xem có thể tách xâu \(S\) thành các đoạn liên tiếp (không thừa, không thiếu ký tự) sao cho mỗi đoạn đều là một từ nằm trong danh sách từ vựng hay không. Mỗi từ trong danh sách có thể được dùng lại nhiều lần.
Bình rất chăm chỉ nhưng xâu quá dài nên cần nhờ bạn giúp. Hãy cho biết \(S\) có tách được theo cách trên không.
Định dạng đầu vào
- Dòng đầu tiên chứa xâu \(S\) (độ dài \(|S| \le 5000\), gồm chữ cái Latin in thường).
- Dòng thứ hai chứa số nguyên \(N\) (\(1 \le N \le 1000\)).
- \(N\) dòng tiếp theo, mỗi dòng chứa một từ vựng (độ dài mỗi từ không quá \(20\), chữ cái Latin in thường).
Định dạng đầu ra
- In ra
YESnếu có thể tách được, ngược lại in raNO.
Ví dụ
Input:
applepenapple
2
apple
pen
Output:
YES
Ràng buộc
- \(30\%\) số điểm ứng với \(|S| \le 100\).
- \(30\%\) số điểm ứng với \(|S| \le 1000\).
- \(40\%\) số điểm còn lại không có ràng buộc gì thêm.
Nhận xét