ذخیره سازی اطلاعات


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

محمدجواد که پشت‌کار بالایی دارد، تعدادی کلمه در سخنرانی یادداشت کرده است. حال می‌خواهد این کلمات را به هم بچسباند و در یک فایل ذخیره کند. به دلیل این که این سخنرانی برای او بسیار مهم است او می‌خواهد مکان فایل در پوشه‌ای که آن را ذخیره می‌کند در بالاترین جای ممکن باشد. نحوه جایگیری فایل ها در کامپیوتر او به صورت الفبایی است. برای همین او می‌خواهد که رشته‌ی نهایی به صورت الفبایی کوچکترین حالت ممکن را داشته باشد.

اگر ss و tt دو رشته از حروف باشند، که تعداد حروفشان یکسان است و sis_i حرف iام رشته‌ی s , tjt_j حرف jjم رشته‌ی tt را نشان دهد، آنگاه گوییم s از t به صورت الفبایی کوچکتر است اگر برای یک i داشته باشیم si<tis_i < t_i و برای تمام k<ik < i داشته باشیم sk=tks_k = t_k.

ورودی🔗

در سطر اول ورودی nn آمده است که نشان‌دهنده‌ی تعداد کلمات است.

در nn خط بعدی در هر خط یک کلمه آمده است. طول رشته‌ی ii برابر lil_i است. هر رشته از حروف کوچک انگلیسی تشکیل شده‌است.

1n100 1 \le n \le 100 1li20 1 \le l_i \le 20

خروجی🔗

خروجی شامل یک رشته است که نشان‌دهنده‌ی رشته‌ قابل ساختی است که از نظر الفبایی کمینه است.

مثال🔗

ورودی نمونه ۱🔗

3
c
a
b
Plain text

خروجی نمونه ۱🔗

abc
Plain text

محمدجواد با چسباندن کلمه ها به هم می‌تواند این ۶ رشته را بسازد:‌ {cbacba ,cabcab ,bcabca ,bacbac ,acbacb ,abcabc} که از بین آنها رشته abcabc از بقیه از نظر الفبایی کوچکتر است.

ورودی نمونه ۲🔗

7
bat
javo
he
on
aaghe
irshi
bek
Plain text

خروجی نمونه ۲🔗

aaghebatbekheirshijavoon
Plain text
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.