Mật thư cổ đại
Xem dưới dạng PDF
Gửi bài giải
Điểm:
25
Giới hạn thời gian:
1.5s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Cổ nhân của một nền văn minh đã biến mất đã ghi lại danh sách gồm \(N\) từ vựng trên mật thư. Biết rằng danh sách từ vựng này được xếp tăng dần theo thứ tự từ điển của bảng chữ cái cổ. Bảng chữ cái có \(K\) chữ cái đầu tiên trong tiếng Anh thường (\(a\) đến \(z\)).
Dựa vào danh sách từ vựng, hãy xác định một thứ tự chữ cái hợp lệ trong bảng chữ cái của người cổ đại.
Định dạng đầu vào
- Dòng đầu chứa hai số nguyên \(N\) và \(K\) (\(1 \le N \le 10^4\), \(1 \le K \le 26\)).
- \(N\) dòng tiếp theo, mỗi dòng chứa một từ viết bằng các chữ cái tiếng Anh thường có độ dài không quá \(20\).
Định dạng đầu ra
- Một chuỗi gồm \(K\) chữ cái biểu diễn thứ tự bảng chữ cái của người cổ đại. Nếu không có thứ tự hợp lệ, in ra \(-1\). Nếu có nhiều thứ tự hợp lệ, in ra bất kỳ thứ tự nào.
Ràng buộc
| Subtask | Tỉ lệ điểm | Ràng buộc |
|---|---|---|
| 1 | 40% | \(N \le 100\), \(K \le 5\) |
| 2 | 60% | Không có ràng buộc gì thêm |
Ví dụ
Input:
5 4
baa
abcd
abca
cab
cad
Output:
bdac
(Giải thích ví dụ: So sánh baa và abcd -> b đứng trước a. So sánh abcd và abca -> d đứng trước a. So sánh cab và cad -> b đứng trước d. Từ đó suy ra thứ tự: b -> d -> a -> c hoặc tương tự).
Nhận xét