Nối xâu

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Python
Nối xâu
Mô tả và yêu cầu

Nối xâu
Cho một tập 𝑆 gồm 𝑁 xâu ký tự 𝑆1, 𝑆2,… ,𝑆𝑁. Mỗi xâu trong tập 𝑆 chỉ chứa các chữ cái
tiếng Anh in thường. Với xâu 𝑆𝑖 (1 ≤ 𝑖 ≤ 𝑁), chọn ra một xâu con không rỗng gồm các ký tự
liên tiếp, gọi xâu con đó là 𝑇𝑖. Sau đó, nối các xâu 𝑇1, 𝑇2, … ,𝑇𝑁 theo thứ tự từ trái qua phải tạo
thành xâu 𝑃.
Yêu cầu: Cho số nguyên dương 𝐾, hãy tìm xâu 𝑃 có độ dài đúng bằng 𝐾 và có thứ tự từ điển
nhỏ nhất.
Dữ liệu vào từ tệp văn bản NX.INP:
 Dòng đầu tiên chứa hai số nguyên 𝑁 và 𝐾, tương ứng với số lượng xâu trong tập 𝑆 và
độ dài của xâu 𝑃;
 𝑁 dòng tiếp theo, dòng thứ 𝑖 (1 ≤ 𝑖 ≤ 𝑁) chứa xâu ký tự 𝑆𝑖;
Dữ liệu đảm bảo 1 ≤ 𝑁 ≤ 𝐾 ≤ ∑𝑁 |𝑆𝑖| ≤ 4000 với |𝑆𝑖| là độ dài của xâu 𝑆𝑖.
𝑖=1
Kết quả ghi ra tệp văn bản NX.OUT: Gồm một dòng là xâu 𝑃 cần tìm.

Ví dụ
NX.INP               NX.OUT                             Giải thích
              2 3                    abb                 Chọn ra xâu con “a” của xâu “aen”.
              aen                                        Chọn ra xâu con “bb” của xâu “bbb”.
              bbb
              2 3                    bad                 Chọn ra xâu con “b” của xâu “bb”.
              bb                                         Chọn ra xâu con “ad” của xâu “adh”.
              adh
Ràng buộc:
       Có 30% số test ứng với 30% số điểm thoả mãn: 𝑁             =  2; |𝑆1|, |𝑆2| ≤  100;
       30% số test khác ứng với 30% số điểm thoả mãn: 1            ≤  𝑁  ≤  50; |𝑆1 |  =  |𝑆𝑖 |≤  10 (1   ≤
        𝑖 ≤  𝑁);
       40% số test còn lại ứng với 40% số điểm không có ràng buộc gì thêm.

Tải PDF gốc


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.