Viết tắt
Đề bài
Mô tả
Cho một văn bản gồm từ được ngăn cách bởi đúng một dấu cách. Không có dấu cách trước từ đầu tiên và sau từ cuối cùng. Mọi từ chỉ gồm các chữ cái Latin thường. Độ dài của văn bản là tổng số chữ cái và dấu cách trong đó.
Ký hiệu là từ thứ của văn bản, và là đoạn từ liên tiếp . Hai đoạn và được gọi là bằng nhau nếu chúng có cùng số từ () và các từ tương ứng trùng nhau, tức với mọi .
Một phép viết tắt được thực hiện như sau: chọn ít nhất hai đoạn từ bằng nhau và đôi một không giao nhau, rồi thay mỗi đoạn đã chọn bằng xâu gồm các chữ cái đầu của những từ trong đoạn, viết hoa.
Ví dụ, với văn bản "a ab a a b ab a a b c" ta có thể thay hai đoạn và bằng "AAA" để được "a AAA b AAA b c", hoặc thay hai đoạn và bằng "AAAB" để được "a AAAB AAAB c".
Hãy tìm độ dài nhỏ nhất của văn bản sau khi thực hiện nhiều nhất một phép viết tắt (tức là được phép không viết tắt gì cả).
Dữ liệu vào
- Dòng đầu chứa số nguyên là số từ của văn bản.
- Dòng thứ hai chứa từ cách nhau bởi một dấu cách, mỗi từ chỉ gồm chữ cái Latin thường.
Dữ liệu ra
In ra một số nguyên duy nhất là độ dài nhỏ nhất của văn bản sau khi thực hiện nhiều nhất một phép viết tắt.
Ràng buộc
- Độ dài của văn bản ban đầu không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 6 to be or not to be |
12 | Thay hai đoạn và (đều là "to be") để được "TB or not TB", độ dài . |
| 10 a ab a a b ab a a b c |
13 | Thay và (đều là "ab a a b") để được "a AAAB AAAB c", độ dài . |
| 6 aa bb aa aa bb bb |
11 | Thay và (đều là "aa bb") để được "AB aa AB bb", độ dài . Chọn đoạn dài hơn không có lợi vì không tìm được hai đoạn bằng nhau rời nhau. |
Bình luận