- محدودیت زمان: ۲ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
روش هافمن یک الگوریتم برای فشردهسازی براساس احتمال تکرار کلمات است. این روش به هر حرف یک رشتهی باینری (رشتهای از 0
و 1
) متناظر میکند و بهجای رشتهای از آن کلمات میتوانیم از آن رشتهها استفاده کنیم.
نکتهی مهم در این فشردهسازی این است که برای هر رشتهی فشرده شده، فقط یک روش برای جایگذاری کلمات اصلی داشته باشد تا بازسازی متن اصلی ممکن باشد.
حال هافتو میخواد رشتههای بهجای کلمات قرار دهد اما مطمئن نیست که روش فشردهسازی او هم مثل هافم بدون ابهام است.
از شما میخواهیم برنامهای بنویسید که بررسی کنید آیا این رشتهها برای فشردهسازی بدون ابهام هستند و یا طول کوتاهترین رشتهای که اگر با آن بازسازی کنیم ابهام پیش میآید را چاپ کنید.
ورودی
در سطر اول ورودی، عدد صحیح و مثبت آمده که تعداد رشتهها را نشان میدهد.
در سطر بعدی، در هر سطر یک رشته داده میشود.
خروجی
درصورتی که این کلمات ابهامی ندارند، رشتهی YES
و در غیر این صورت رشتهی NO
را در سطر اول و در سطر بعدی، طول کوتاهترین رشتهی دودویی که برای این متناظر کردن ابهام دارد را چاپ کنید.
مثالها
ورودی نمونه ۱
خروجی نمونه ۱
ورودی نمونه ۲
خروجی نمونه ۲
ارسال پاسخ برای این سؤال