المپدیا

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

ابزار کاربر

ابزار سایت


سوالات المپیاد:مرحله ی دوم:دوره ی ۳۲:سوال دو

سعی کنید سوالات را با کمترین راهنمایی حل کنید.

سوال دوم (۱۸ نمره)

در یک زندان، ۳۲ نفر با اسامی متمایز در ۳۲ سلول زندانی هستند. زندان‌بانِ زندان عوض شده و زندان‌بان جدید می‌خواهد لیستی از اسامی ۳۲ زندانی تهیه کند. او برای این کار با زندانی‌ها توافق می‌کند که این بازی را انجام دهند:

  • هر روز، ابتدا زندان‌بان دو سلول را انتخاب می‌کند؛ سپس با مراجعه به آن دو سلول، زندانی‌هاى هر کدام از آن دو سلول را می‌بیند و اگر هر یک از آن‌ها را قبلاً ندیده باشد، اسم آن فرد را هم به لیست خود اضافه می‌کند. همان شب و دور از چشم زندان‌بان، یکى از آن دو زندانى سلولش را با یکى از ۳۱ زندانی دیگر عوض می‌کند.

آیا زندان‌بان در هر شرایطی (به ازای تمام عملکردهای ممکن زندانی‌ها) مى‌تواند در حداکثر ۱۰۲۴ روز، لیستی از اسامی همه‌ی زندانى‌ها را تهیه کند؟

توضیح: اگر پاسخ شما برای این سوال «بله» است، باید روشی برای زندان‌بان ارائه کنید که در حداکثر ۱۰۲۴ روز، لیست اسامی زندانی‌ها را تهیه کند. هم‌چنین اگر پاسخ شما برای این سوال «خیر» است، باید اثبات کنید به ازای هر الگوریتمِ زندان‌بان، حالتی وجود دارد که او به هدفش نرسد.

راهنمایی

روی یکی از زندانیانی که زندان بان در روز اول او را نمیبیند، فکر کنید.


ابزار صفحه