Khôi phục bộ gen khủng long Berland
Đề bài
Mô tả
Bộ gen của một loài khủng long Berland là một xâu khác rỗng gồm các chữ cái Latin thường, trong đó mỗi chữ cái xuất hiện nhiều nhất một lần (bộ gen có tối đa 26 loại nucleotit, mỗi loại tương ứng một chữ cái).
Các nhà khoa học thu được đoạn gen, mỗi đoạn là một xâu con liên tiếp (dãy các nucleotit liên tiếp) của bộ gen cần khôi phục. Mỗi đoạn cũng là một xâu gồm các chữ cái đôi một khác nhau. Các đoạn có thể trùng nhau, có thể chồng lấn nhau, và một đoạn có thể là xâu con của đoạn khác.
Dữ liệu bảo đảm luôn tồn tại ít nhất một bộ gen (xâu gồm các chữ cái đôi một khác nhau) chứa tất cả các đoạn đã cho làm xâu con. Trong tất cả các bộ gen thỏa mãn, hãy in ra một bộ gen có độ dài nhỏ nhất.
Dữ liệu vào
- Dòng đầu chứa số nguyên dương : số đoạn gen.
- dòng tiếp theo, mỗi dòng chứa một đoạn gen là xâu khác rỗng gồm các chữ cái Latin thường đôi một khác nhau.
Dữ liệu ra
In ra một dòng duy nhất là bộ gen có độ dài nhỏ nhất chứa tất cả các đoạn đã cho làm xâu con. Tất cả các chữ cái trong bộ gen phải đôi một khác nhau. Nếu có nhiều đáp án, in ra bất kỳ đáp án nào.
Ràng buộc
- Tổng độ dài các đoạn không vượt quá vài nghìn ký tự; mỗi đoạn gồm các chữ cái thường đôi một khác nhau.
- Dữ liệu bảo đảm tồn tại ít nhất một bộ gen hợp lệ.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 bcd ab cdef |
abcdef | ab, bcd, cdef đều là xâu con của abcdef, và đây là bộ gen ngắn nhất (6 chữ cái). |
| 4 x y z w |
wxyz | Bốn chữ cái rời rạc, ghép theo thứ tự tùy ý; wxyz, xyzw, ... đều được chấp nhận. |
| 3 bmg wjah il |
bmgilwjah | Ba đoạn không có chữ cái chung nên có thể ghép thành nhiều chuỗi độc lập theo thứ tự bất kỳ. |
Bình luận