در راستای آموزش زبان برنامه نویسی پایتون، دومین دوره مسابقات چالش پایتون که نسبت به دوره اول سطح بالاتری دارد برگزار میگردد.

نردبان الفبایی


نردبان کلمات یک دنباله از کلمات است که که هر دو تا کلمه‌ی پشت‌سر‌هم صرفا فقط در یک حرف تفاوت داشته باشند.. یک مثال از این نردبان کلمات (‌البته به صورت افقی نوشته‌ایم!!) می‌تواند todo,food,wood,word,downtodo, food, wood, word, down باشد. توجه کنید که حروف دو کلمه‌ی پشت‌سر‌هم می‌تواند جابه‌جا شود ولی دقیقا یک حرف باید تغییر کند. برای این مسئله به شما یک فرهنگ لغات از کلمات مختلف داده می‌شود که همگی طولشان یکسان است. شما باید یک برنامه بنویسید که کوتاه‌ترین نردبان از کلمات را بیابد که کلمه‌ی اول و کلمه‌ی آخر آن هیچ حرف یکسانی نداشته باشد.

توجه🔗

اگر ss و tt دو رشته از حروف باشند، که تعداد حروفشان یکسان است و sis_i حرف iiام رشته‌ی ss را نشان دهد آنگاه گوییم ss از tt به صورت الفبایی کوچکتر است اگر برای یک ii داشته باشیم si<tis_i < t_i و برای تمام j<ij<i داشته باشیم sj=tjs_j=t_j

محدودیت‌ها🔗

1n100 1 \leq n \leq 100 1l20 1 \leq l \leq 20

  • زبان C و C++
    • محدودیت زمان: ۱ ثانیه
    • محدودیت حافظه: ۱۵۰ مگابایت
  • زبان پایتون و جاوا
    • محدودیت زمان: ۲.۵ ثانیه
    • محدودیت حافظه: ۲۰۰ مگابایت

ورودی🔗

سطر نخست ورودی شامل دو عدد صحیح به ترتیب nn و ll می‌باشد که نشان‌دهنده‌ی تعداد کلمات فرهنگ لغات و طول هر کدام می‌باشد. در هر کدام از nn سطر بعد یک کلمه با حروف aza-z به طول ll آمده است.

خروجی🔗

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

مثال🔗

نمونه ورودی🔗

9 3
alt
spy
sea
opt
pea
ape
spa
apt
ale
Plain text

نمونه خروجی🔗

ale alt apt opt
Plain text
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.