سلام دوست عزیز😃👋
به «مسابقه دانشگاه گیلان» خوش آمدی!
هرگونه ارتباط با سایر شرکتکنندگان و یا استفاده از ابزارهای تولید کد، مثل chatGPT
و... در مسابقات کوئرا ممنوع است و بعد از شناسایی از لیست شرکتکنندگان مسابقه حذف میشوید.
لینکهای مفید برای شرکت در مسابقه:
سوالات و مشکلات خودتان را میتوانید از طریق قسمت «سوال بپرسید» با ما در میان بگذارید.
موفق باشید و بهتون خوش بگذره 😉✌
لیست سوالات را میتوانید از نوار سمت راست این صفحه مشاهده کنید.
روش هافمن یک الگوریتم برای فشردهسازی براساس احتمال تکرار کلمات است. این روش به هر حرف یک رشتهی باینری (رشتهای از 0
و 1
) متناظر میکند و بهجای رشتهای از آن کلمات میتوانیم از آن رشتهها استفاده کنیم.
نکتهی مهم در این فشردهسازی این است که برای هر رشتهی فشرده شده، فقط یک روش برای جایگذاری کلمات اصلی داشته باشد تا بازسازی متن اصلی ممکن باشد.
حال هافتو میخواد رشتههای بهجای کلمات قرار دهد اما مطمئن نیست که روش فشردهسازی او هم مثل هافم بدون ابهام است.
از شما میخواهیم برنامهای بنویسید که بررسی کنید آیا این رشتهها برای فشردهسازی بدون ابهام هستند و یا طول کوتاهترین رشتهای که اگر با آن بازسازی کنیم ابهام پیش میآید را چاپ کنید.
در سطر اول ورودی، عدد صحیح و مثبت آمده که تعداد رشتهها را نشان میدهد.
در سطر بعدی، در هر سطر یک رشته داده میشود.
درصورتی که این کلمات ابهامی ندارند، رشتهی YES
و در غیر این صورت رشتهی NO
را در سطر اول و در سطر بعدی، طول کوتاهترین رشتهی دودویی که برای این متناظر کردن ابهام دارد را چاپ کنید.