SHORT NAME - PMT và bài toán mã hoá tên
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 256 megabyte
Đăng bởi: trunglhpk97

         Vào một đêm trăng sang lung  linh, PMT ngồi bên của sổ ngắm nhìn ánh trăng soi , trầm tư, suy ngẫm, nghĩ về một người rất quan trọng với cô. Trong lúc vô thức , cô đã viết xuống dưới những cái tên , những cái tên khác nhau và không mang một ý nghĩa gì cả. Một ý tưởng loé sang trong đầu PMT: “Tại sao ta không mã hoá các cái tên này ngắn gọn hơn cho dễ nhớ nhỉ? “ Thế là PMT đã có một bài tập mới để thách đố người mà cô đang nghĩ tới lúc này. Bài toán đặt ra là cho một tập N cái tên khác nhau, mỗi tên chỉ gồm các chữ cái in thường. Mỗi cái tên có thể được thay thế bằng tiền tố của nó, nhưng vẫn đảm bảo các tên sau khi mã hoá phải hoàn toàn khác nhau. Nhiệm vụ mà PMT đặt cho người mà cô đang ngày mong đêm nhớ kia là hãy tìm cách mà hoá tập các tên cô giao cho, sao cho sau khi mà hoá, tổng số kí tự của các tên là nhỏ nhất. Đương nhiên nếu trả lời đúng, người ấy sẽ nhận được một phần thưởng từ PMT.

Một xâu b được gọi là tiền tố của xâu a nếu xâu b có thể thu được bằng cách xoá một số kí tự cuối của xâu a.

Vd : abb là tiền tố của xâu abba.

abba cũng là tiền tố của xâu abba.

Input : Dòng đầu tiên chứa số nguyên dương N ( N <= 10^5).

N dòng tiếp theo, mỗi dòng chứa một tên. (Dữ liệu đảm bảo tổng số kí tự được cho ban đầu <= 10^5 ).

Output: Một số nguyên dương – Tổng số lượng các kí tự sau khi mã hoá.

 

Ví dụ

input

3

pmt

pmnvt

pmtnvtttt

ouput

6

Giải thích : Sau khi đã mã hoá, 3 cái tên đó sẽ thành p, pm, pmt. Tổng là 1 + 2 + 3 = 6.

Back to Top