- .LCN với chương trình LOGO, PAS với chương trình PASCAL
2. Các mã ẩn Bài toán
Bài toán
Xét tập các mã, mỗi mã là một từ có phân biệt chữ in hoa và chữ in thường chỉ bao gồm các chữ cái tiếng Anh. Ta định nghĩa dãy phủ của một mã là xâu ký tự có chứa tất cả các chữ cái của mã được xuất hiện đúng theo thứ tự và có ký tự đầu tiên và cuối cùng là của mã. Ví dụ AuLvL là dãy phủ của ALL. Hai xâu con được gọi là không gối chồng lên nhau nếu vị trí bắt đầu của xâu này lớn hơn vị trí cuối của xâu kia hoặc ngược lạị
Cho trước một văn bản text và một tập hợp các mã. Một nghiệm của bài toán là một tập hợp các phần tử, một phần tử bao gồm một mã và một dãy phủ của mã đó thỗ mãn các điều kiện sau:
a) Các dãy phủ trên là không gối chồng lên nhau từng đôi một. b) Mỗi dãy phủ có độ dài <=1000
c) Tổng chiều dài của các mã trong nghiệm trên là cực đạị
Hạn chế kỹ thuật
1 <= N <= 100, N- số các mã
Độ dài lớn nhất của một mã là 100 ký tự
Văn bản có độ dài >= 1 và <= 1000000 ký tự
Ta nói dãy phủ C của mã W là cực tiểu phải nếu khơng có một xâu con trái (là xâu con bắt đầu từ ký tự trái đầu tiên) thực sự nào của C là dãy phủ của W. Ví dụ AAALAL là dãy phủ cực tiểu phải của ALL, trong khi đó AAALALAL là
dãy phủ không cực tiểu phải của ALL vì nó có xâu con trái thực sự AAALAL là dãy phủ.
Các điều kiện sau của văn bản phải thoả mãn:
1. Với mọi vị trí của văn bản, số các dãy phủ cực tiểu phải chứa vị trí này khơng vượt quá 2500;
2. Số các dãy phủ cực tiểu phải khơng vượt q 10000.
Input
Có hai file text: words.inp và text.inp. File words.inp chứa danh sách các mã, file
Dòng đầu tiên của words.inp chứa số N. N dòng tiếp theo chứa các mã là một xâu ký tự không chứa dấu cách. Mỗi mã được đánh dấu từ 1 đến N tuân theo thứ tự được cho trong tệp nàỵ
File text.inp chứa dãy các ký tự (kết thúc bởi ký tự xuống dịng, sau đó là ký tự kết thúc file), file này không chứa dấu cách.
Output
Output file là file text codes.out.