DHBB 2026 - DX44 - 11 - Tách chuỗi

Xem dạng PDF

Gửi bài giải

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

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

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

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.