المپدیا

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

ابزار کاربر

ابزار سایت


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

آدم بی‌حافظه

سه دستمال و سه کارت به رنگ‌های آبی و قرمز و سبز داریم. در ابتدا هر کارت روی یک دستمال قرار دارد. ممکن است روی برخی از دستمال‌ها هیچ کارتی قرار نداشته باشد. توجه کنید ما فقط رنگ کارت رویی یک دستمال و رنگ خود دستمال را می‌بینیم. (حتی نمی‌توانیم تعداد کارت‌هایی که روی یک دستمال قرار دارد را تشخیص دهیم)

هدف ما این است که در پایان، هر کارتی روی دستمال هم‌رنگ خود قرار گیرد. در هر مرحله می‌توان یک کارت را از روی یک دستمال برداشت و روی یک دستمال دیگر قرار داد.

الگوریتمی ارائه دهید که این کار را انجام دهد، الگوریتم شما از هیچ حافظه‌ی اضافی نمی‌تواند استفاده کند، در واقع شما بایستی به ازای هر وضعیتی که مشاهده می‌کنید، بدون در نظر گرفتن اعمالی که تا کنون انجام داده‌اید، عمل یکتایی را با توجه به آن وضعیت انجام دهید.

در ضمن راه‌حل شما نمی‌بایست از ۵۰۰ کلمه بیش‌تر شود.


ابزار صفحه