DHBB 2026 - DX44 - 11 - Tách chuỗi
Xem dạng PDFTrong 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
Cho một xâu ~S~ chỉ gồm các chữ cái tiếng Anh in thường có độ dài tối đa ~10000~ ký tự và một từ điển có không quá ~1000~ từ (từ là một chuỗi ký tự liền nhau, không chứa dấu cách), mỗi từ có không quá ~16~ ký tự.
Yêu cầu: Hãy tìm cách tách chuỗi ~S~ ra các chuỗi con, sao cho số lượng chuỗi con được tách là ít nhất và mỗi chuỗi con đều thuộc từ điển đã cho.
Input
Dòng ~1~: chứa xâu ~S~;
Dòng ~2~: các dòng tiếp theo mỗi dòng chứa một xâu thuộc từ điển mà theo thứ tự có số hiệu từ ~1~ đến hết.
Output
Dòng đầu ghi số ~N~ là số lượng chuỗi con được tách ít nhất từ chuỗi ~S~ thỏa mãn yêu cầu, nếu không có cách tách thì ghi số ~0~.
Dòng thứ ~2~ ghi số hiệu của các từ thuộc từ điển mà theo thứ tự đó ghép các chuỗi con lại với nhau thì được xâu ~S~.
Scoring
Với ~d~ là độ dài của chuỗi ~S~
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | ~30\%~ | ~10 \le d \le 100~; |
| 2 | ~30\%~ | ~100 < d \le 1000~; |
| 3 | ~40\%~ | ~1000 < d \le 10000~. |
Sample Input 1
acesescepuntext
text
aces
an
care
escep
un
simplu
Sample Output 1
4
2 5 6 1
Bình luận