Problem
کد ایوان شامل n متغیر است. هر متغیر یک نام منحصر به فرد دارد که فقط از حروف کوچک انگلیسی (کوچک) تشکیل شده است. یک روز ایوان تصمیم گرفت کد خود را کوتاه کند.
او می خواهد نام هر متغیر را با پیشوند غیر خالی آن جایگزین کند، به گونه ای که نام های جدید به صورت زوجی متمایز باقی بمانند (اما نام جدید برخی از متغیرها ممکن است با نام قدیمی این یا متغیر دیگر یکی باشد). در میان همه این جایگزینهای ممکن، او میخواهد یکی را بیابد که طول کل نام متغیرها حداقل باشد.
اگر بتوانید برخی از کاراکترها (احتمالاً هیچ کدام) را از انتهای رشته b حذف کنید و a را دریافت کنید، رشته a پیشوند رشته b است.
حداقل طول ممکن نامهای جدید را پیدا کنید.
ورودی:
خط اول شامل یک عدد صحیح n (1 ≤ n ≤ 10
5) — تعداد متغیرها در کد ایوان.
n خط بعدی شامل نام متغیرها، یکی در هر خط است. هر نام یک رشته خالی نیست و فقط شامل حروف انگلیسی کوچک (کوچک) است. طول کل همه این رشته ها بیش از 10
5 نیست. نام همه متغیرها متفاوت است.
خروجی:
چاپ یک عدد صحیح — حداقل طول کل ممکن نام متغیرهای جدید.
مثال:
<بدن>
ورودی |
خروجی |
3
کد |
6 |
5
ابا
abb
ab
aa
aacada |
11 |
3
تلگرام
دیجیتال
مقاومت |
3 |
توضیحات:
در مثال اول، یکی از بهترین گزینهها کوتاه کردن نامها به ترتیبی که وارد میشوند به «cod»، «co»، «c» است.
در مثال دوم، می توانید نام خانوادگی را به "aac" کوتاه کنید. و نام قبل از «a» بدون تغییر نام متغیرهای دیگر