المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره ی انتخاب تیم:دوره ی ۱۴:سوال ۱۱

شماره‌تلفن‌ها

می‌دانید چرا روی شماره‌ی تلفن‌ها یا موبایل‌ها حروف انگلیسی وجود دارد؟ چون مردم از این حروف برای حفظ کردن شماره‌ی یک فرد استفاده می‌کرده‌اند. در واقع به جای شماره حروفی که روی دکمه‌های شماره‌گیر وجود دارد را به خاطر می‌سپرده‌اند. یک شماره‌گیر را در نظر بگیرید که به دکمه‌هایش این حروف اطلاق گشته است:

۱)$IJ$ ۲)$ABC$ ۳)$DEF$ ۴)$GH$ ۵)$KL$ ۶)$MN$ ۷)$PRS$ ۸)$TUV$ ۹)$WXY$ ۱۰)$OQZ$

حال فرض کنید یک معلمی دارید که او را خیلی دوست دارید با این شماره تلفن: ۲۸۵۵۳۰۴ شماره تلفن این معلم می‌تواند این طوری نوشته شود: $BULLDPG$

شما باید برنامه‌ای بنویسید که یک شماره‌تلفن را با کم‌ترین تعداد کلمه بسازد.

ورودی

در سطر اول فایل ورودی شماره تلفن داده شده است. این شماره حداکثر ۱۰۰ رقمی است. در سطر بعدی تعداد کلمات فرهنگ لغت داده شده است. (حداکثر ۵۰۰۰۰) سپس در هر کدام از خطوط باقی‌مانده یک کلمه حداکثر ۵۰ حرفی آمده است.

خروجی

در تنها سطر فایل خروجی دنباله‌ی متناظر با کم‌ترین تعداد کلمه‌ نوشته شده است. کلمه‌های این دنباله را به یک $space$ از هم جدا کنید. اگر جوابی برای ورودی وجود نداشت در خروجی No solution بنویسید. اگر چندین جواب درست با کم‌ترین تعداد کلمه وجود داشت هر کدام را که دوست دارید بنویسید.

محدودیت‌ها

  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۶۰۰ کیلوبایت

ورودي و خروجي نمونه

ورودي نمونه خروجي نمونه
7325189087
5
it
your
reality
real
our
reality our
4294967296
5
it
your
reality
real
our
No solution

ابزار صفحه