Notice
Chào mừng bạn đến với OREOJ

[HueICT 2026] Khôi phục

Xem dạng PDF

Gửi bài giải

Điểm: 0,01 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, C++20, Java, Kotlin, Pascal, PyPy, Python, Scratch

Các nhà khoa học cần khôi phục một thông điệp mật mã được khắc trên một chiếc vòng cổ.

Thông điệp là một xâu ~S~ chỉ gồm các kí tự từ 'a' đến 'z'. Vì xâu nằm trên một vòng tròn nên kí tự cuối cùng của xâu được coi là đứng liền trước kí tự đầu tiên.

Thông tin hiện có là ~N~ mảnh xâu, mỗi mảnh xâu là một đoạn con gồm các kí tự liên tiếp xuất hiện trên chiếc vòng cổ. Việc khôi phục thực sự khó khăn vì các nhà khoa học không biết chính xác vị trí của các mảnh xâu trên xâu ~S~, có thể có rất nhiều xâu khác nhau chứa ~N~ mảnh xâu như vậy.

Tuy nhiên, các nhà khoa học nhận định rằng ~S~ càng ngắn mà mọi mảnh xâu trong số ~N~ mảnh đều xuất hiện trên đó (dưới dạng đoạn con liên tiếp của vòng tròn) thì càng đáng tin cậy.

Yêu cầu

Cho ~N~ mảnh xâu, hãy tìm một xâu ~S~ có độ dài càng ngắn càng tốt sao cho mỗi mảnh xâu trong ~N~ mảnh đều xuất hiện dưới dạng đoạn con liên tiếp trên xâu vòng tròn ~S~.

Input

  • Dòng đầu chứa số nguyên dương ~N~.
  • ~N~ dòng tiếp theo, dòng thứ ~i~ chứa một mảnh xâu là một xâu gồm các chữ cái thường, có độ dài không quá ~10~.

Output

  • Gồm một dòng chứa xâu ~S~ tìm được.

Ràng buộc

  • ~1 \le N \le 500~
  • Mỗi mảnh xâu có độ dài không quá ~10~
  • Các kí tự đều là chữ cái thường 'a' đến 'z'

Chấm điểm

Bài có nhiều output đúng, vì vậy cần dùng custom checker.

Với mỗi test:

  • Gọi ~P~ là độ dài xâu do thí sinh in ra.
  • Gọi ~J~ là độ dài xâu của ban giám khảo.

Nếu xâu của thí sinh không hợp lệ thì được ~0~ điểm ở test đó.

Nếu hợp lệ thì số điểm nhận được ở test đó là:

~\min\left(1,\ \dfrac{J^{20}}{P^{20}}\right)~

Như vậy:

  • nếu ~P \le J~ thì được tối đa điểm của test đó;
  • nếu ~P > J~ thì vẫn có thể được điểm thành phần.

Subtasks

  • Subtask 1 (25 điểm): ~N \le 10~
  • Subtask 2 (25 điểm): ~N \le 20~
  • Subtask 3 (25 điểm): ~N \le 50~
  • Subtask 4 (25 điểm): ~N \le 500~

Ví dụ

Input
3
ab
ba
aa
Output
aba

Giải thích

Xâu vòng tròn ~aba~ chứa cả ba mảnh:

  • ~ab~
  • ~ba~
  • ~aa~ (đi qua vị trí cuối và đầu của vòng tròn)

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.