File input và output t ươ ng ứ ng.[r]
Trang 1Bài toán 5-96
Bài toán : Tiền tố dài nhất
Cấu trúc một số sinh vật được thể hiện qua các thành phần cấu tạo nên chúng Các thành phần đó được ký hiệu bằng các ký tự viết hoa Các nhà sinh vật học muốn phân ly chuỗi thành phần dài thành các chuỗi ngắn hơn Các chuỗi ngắn hơn này được gọi là chuỗi gốc Ta có thể phát biểu rằng một chuỗi S được tạo thành từ các chuỗi gốc P nếu trong thành phần chuỗi P có nhiều chuỗi gốc p1, , pn Các chuỗi gốc p1, ,pn được kết nối theo thứ tự không có khoảng trống Một chuỗi gốc có thể xuất hiện nhiều lần trong chuỗi và không nhất thiết tất cả các chuỗi gốc phải cùng xuất hiện Ví dụ chuỗi ABABACABAAB có thể được tạo thành từ các chuỗi gốc dưới:
{A, AB, BA, CA, BBC}
K ký tự đầu tiên trong chuỗi S được gọi là tiền tố với chiều dài K của chuỗi S Hãy viết chương trình nhận các chuỗi gốc P và thứ tự các thành phần của chuỗi T, từ đó, xác định chiều dài tối đa của tiền tố dài nhất được tạo thành từ các chuỗi gốc trong chuỗi gốc P
Input
Input gồm hai file File INPUT.TXT cho trước các chuỗi gốc P, còn file DATA.TXT chứa thứ tự thành phần T để kiểm tra Dòng đầu của file INPUT.TXT chứa N là số các chuỗi gốc P (1<=N<=100) Mỗi chuỗi gốc được xác định trên hai dòng liền nhau Dòng trước chứa chiều dài
L của chuỗi gốc (1<=L<=20) Dòng sau chứa chuỗi gốc gồm một chuỗi L ký tự viết hoa (từ 'A' đến 'Z') Có N chuỗi gốc khác nhau
Mỗi dòng trong file DATA.TXT chứa một ký tự viết hoa ở đầu dòng File này kết thúc bằng một dòng chứa dấu ('.')
Chiều dài chuỗi lớn hơn 1 và nhỏ hơn hoặc bằng 500.000
Output
Dòng đầu tiên của file OUTPUT.TXT chứa chiều dài tối đa của tiền tố thứ tự thành phần T dài nhất
có thể được tạo thành từ các chuỗi gốc P
Ví du:
Input và Output
File input và output tương ứng
Trang 2Page 2