Phân Tách Từ
Xem dưới dạng PDF
Gửi bài giải
Điểm:
10
Giới hạn thời gian:
1.5s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Ban biên tập một tờ báo điện tử cần phát triển bộ sửa lỗi văn bản. Một câu hoàn chỉnh (không chứa khoảng trắng) cần được phân tách thành các từ có nghĩa nằm trong một tập từ điển cho trước gồm \(N\) từ.
Hãy viết chương trình kiểm tra xem xâu văn bản \(S\) có thể được phân tách thành một chuỗi các từ trong từ điển hay không.
Định dạng đầu vào
- Dòng đầu chứa hai số nguyên dương \(N\) (\(1 \le N \le 10^4\)) — số lượng từ trong từ điển.
- Dòng thứ hai chứa xâu văn bản \(S\) (\(1 \le |S| \le 5000\)).
- \(N\) dòng tiếp theo, mỗi dòng chứa một từ trong từ điển.
Định dạng đầu ra
- In ra
YESnếu có thể phân tách xâu \(S\) thành các từ có nghĩa, ngược lại in raNO.
Ví dụ
Input:
4
leetcode
leet
code
apple
pen
Output:
YES
Giải thích
Xâu leetcode có thể được phân tách thành leet và code — cả hai đều nằm trong từ điển.
Ràng buộc
- 30% số điểm ứng với \(|S| \le 100\), từ điển \(\le 100\) từ.
- 70% số điểm còn lại có tổng độ dài các từ trong từ điển không vượt quá \(10^5\). Xâu \(S\) và các từ chỉ chứa chữ cái tiếng Anh in thường.
Nhận xét