trang chủ / bài tập / prophecy

Mảnh Ghép Lời Tiên Tri

Đề bài

Mô tả

Giáo sư Sybill Trelawney Sybill Trewlawney vừa phát hiện N mảnh giấy cổ trong Phòng Tiên Tri tại Bộ Phép Thuật. Mỗi mảnh giấy chứa một đoạn ký tự - là một phần của lời tiên tri vĩ đại. Bà tin rằng lời tiên tri hoàn chỉnh là một xâu ký tự ngắn nhất có thể sao cho mỗi mảnh giấy đều xuất hiện như một xâu con liên tiếp (substring) trong xâu đó.

Hãy giúp Giáo sư Trelawney Sybill Trewlawney tìm độ dài của lời tiên tri ngắn nhất chứa tất cả các mảnh giấy.

Dữ liệu vào

  • Dòng đầu tiên chứa một số nguyên N - số mảnh giấy.
  • N dòng tiếp theo, mỗi dòng chứa một xâu ký tự gồm các chữ cái Latin thường - nội dung mảnh giấy thứ i.

Dữ liệu ra

In ra một số nguyên duy nhất - độ dài ngắn nhất của lời tiên tri chứa tất cả các mảnh giấy.

Ràng buộc

  • 1N18
  • Mỗi xâu có độ dài từ 1 đến 1000
  • Tổng độ dài tất cả các xâu không quá 10000
  • Các xâu chỉ chứa chữ cái Latin thường

Ví dụ

Input Output Giải thích
3
loinha
nhadoc
docduoc
13 Lời tiên tri ngắn nhất là loinhadocduoc (độ dài 13). Xâu này chứa loinha, nhadoc, và docduoc như các xâu con liên tiếp.
4
abc
bcd
cde
dea
6 Lời tiên tri ngắn nhất là abcdea (độ dài 6). Xâu này chứa tất cả 4 mảnh: abc, bcd, cde, dea.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0