Processing math: 100%

المپدیا

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

ابزار کاربر

ابزار سایت


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

سوال ۳

10 میله مانند شکل زیر، در یک ردیف روی زمین نصب شده‌اند. ملیکا 10 دیسک با وزن‌های 1 تا 10 کیلوگرم (از هر وزن، دقیقا یک دیسک) دارد و در ابتدا، دقیقا یک دیسک را در هر میله گذاشته است. او در هر مرحله می‌تواند یک میله را که دقیقا یک دیسک دارد، انتخاب و دیسک آن را خارج کند و از بالا داخل یکی از میله‌های مجاورش بیندازد، به شرطی که دیسکِ جابه‌جاشده از بالاترین دیسکِ میله‌ی مقصد سبک‌تر باشد یا این‌که میله‌ی مقصد هیچ دیسکی نداشته باشد. برای مثال، وضعیت دیسک‌ها می‌تواند پس از تعدادی مرحله، مانند شکل زیر باشد و در مرحله‌ی بعد، ملیکا می‌تواند در جهت یکی از پیکان‌های کشیده‌شده دیسکی را جابه‌جا کند. از میان همه‌ی حالات ممکن برای چینش اولیه‌ی دیسک‌ها در میله‌ها، ملیکا برای چند حالت می‌تواند همه‌ی دیسک‌ها را با تعدادی حرکت، به یک میله منتقل کند؟ فرض کنید هر یک از میله‌ها به‌قدری بلند است که بتوان همه‌ی 10 دیسک را با هم در آن میله جای داد و فاصله بین میله‌ها نیز به حدی هست که دیسک‌های دو میله‌ی مجاور به‌هم گیر نکنند.

  1. 512
  2. 1024
  3. 3628800
  4. 362880
  5. 2048

پاسخ

گزینه (1) درست است.

این کار تنها در صورتی قابل انجام است که دیسک‌های قبل از دیسک ده کیلوگرمی تشکیل یک دنباله‌ی صعودی دهند و دیسک‌های بعد از دیسک ده کیلوگرمی تشکیل یک دنباله‌ی نزولی دهند.

برای اثبات این موضوع، ابتدا نشان می‌دهیم که حالت‌های اولیه با این شرط، حالت‌های مناسبی هستند. در این حالات، کافی است ابتدا دیسک 9 را روی دیسک ده بگذاریم، سپس دیسک 8 را روی دیسک 9 (که خود بر روی دیسک 10 است) بگذاریم و به همین ترتیب ادامه دهیم.

این کار به دلیل این است که وقتی می‌خواهیم دیسک i را روی دیسک i+1 (که در میله‌ای است که همه‌ی دیسک‌های i+2,i+3,,10 در آن هستند) بگذاریم، هیچ دیسک دیگری در مسیر این دیسک تا میله‌ی مقصد وجود ندارد. بنابراین، می‌تواند به‌راحتی به آن‌جا برود.

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

پس این بدان معناست که دیسک‌ها باید دانه به دانه بیایند و از بالا وارد میله‌ی دیسک دهم شوند. این یعنی دیسک‌های مسیری که یک دیسک را به دیسک دهم وصل می‌کند باید از آن دیسک سنگین‌تر باشد.

این نشان می‌دهد دیسک‌های سمت چپ دیسک دهم باید صعودی و دیسک‌های سمت راست آن باید نزولی باشد. برای شمارش این حالات، کافی است برای هر عدد بین 1 تا 9 مشخص کنیم که باید سمت راست یا چپ دیسک ده کیلوگرمی باشد و پس از مشخص شدن جایگاه نسبی هر دیسک نسبت به دیسک ده کیلوگرمی، چیدن آن‌ها به شکل یکتا مشخص می‌شود.

دیسک‌های چپ به شکل صعودی و دیسک‌های راست به شکل نزولی باید چیده شوند. بنابراین تعداد حالات برابر با 29 است.


ابزار صفحه