Generic selectors
Exact matches only
Search in title
Search in content
Menu


معمای قطار | مانور قطارها را چگونه انجام دهیم؟


معمای قطار

می‌دانید که در زنگ توقف متمم بخشی به نام معما داریم و در آن معماهای مختلفی را معرف می‌کنیم. هدف اصلی از طرح معماها این است که برای لحظاتی از فضای جدی درس‌ و آموزش فاصله بگیرید. هدف دوم هم این است که در دنیایی که گاهی انگشتان‌مان از مغزمان کم‌حوصله‌ترند و پیش از این که حتی بفهمیم مطلبی را دیده‌ایم یا نه، صفحهٔ نامتناهی نمایش را اسکرول می‌کنند، مدتی روی «یک» موضوع متمرکز شویم.

معمایی که این بار انتخاب کرده‌ایم،‌ یک معمای کلاسیک و شناخته‌شده در دنیای حل مسئله و الگوریتم‌هاست. این معما را با نام‌های «معمای قطار» و «معمای شانتینگ» می‌شناسند و اگر بخواهیم از اصطلاحات رایج در راه‌آهن کشورمان استفاده کنیم، باید آن را «معمای مانور قطار» بنامیم.

معمای قطار

یک لوکوموتیو (که با B نمایش داده شده) یک واگن را (که با A نمایش داده شده)‌ می‌کشد و از سمت چپ به راست می‌برد. لوکوموتیو دیگری (که با C نمایش داده شده) یک واگن را (که با D نمایش داده شده) می‌کشد و از سمت راست به چپ می‌آید. این دو لوکوموتیو روی یک خط هستند و به هم می‌رسند. یعنی عملا متوقف می‌شوند و نمی‌توانند به مسیرشان ادامه دهند.

همان‌طور که می‌بینید بین این دو قطار، یک خط انحرافی کوتاه و بن‌بست وجود دارد که فقط به اندازهٔ‌ یک لوکوموتیو یا واگن طول دارد. اگر طولانی‌تر بود، کار خیلی ساده بود. لوکوموتیو C واگن D را با خود می‌کشید و به مسیر انحرافی می‌رفت. راه باز می‌شد و لوکوموتیو B مسیرش را ادامه می‌داد. سپس C دوباره به عقب می‌آمد و در خط اصلی قرار می‌گرفت و به مسیر خود ادامه می‌داد.

اما از آن‌جا که در این حالت، معمایی برای حل کردن باقی نمی‌ماند، ما فرض می‌کنیم که خط فرعی به اندازهٔ طول یک لوکوموتیو یا واگن جا دارد.

معمای قطار - توضیح تصویر زیر همین عکس به شکل متنی گفته شده است

روش رایج برای حل چنین مسائلی – که در ایستگاه‌های راه‌آهن زیاد اتفاق می‌افتد) مانور دادن قطارهاست. ویژگی‌های مانور به صورت زیر است:

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

حالا سوال این‌جاست که چگونه و در چند حرکت می‌توانید قطارها را جوری جابه‌جا کنید که دو قطار از روی هم رد شوند. یعنی لوکوموتیو B در سمت راست قرار بگیرد و A را با خود بکشد و برود و لوکوموتیو C هم در سمت چپ قرار بگیرد و D را با خود ببرد (شکل زیر):

وضعیت قطارها پس از مانور

مشارکت در بحث

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

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

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

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

برای مشاهدهٔ متن کامل این مطلب کافی است (بدون پرداخت هرگونه هزینه) در سایت متمم ثبت نام کنید. پس از ثبت‌نام به تعداد قابل‌توجهی از درس‌‌های متمم دسترسی پیدا خواهید کرد نمونهٔ آن‌ها را می‌توانید از طریق لینک زیر ببینید:

نمونه درس‌های کاربر آزاد متمم

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

ثبت نام رایگان    تجربه‌ٔ متممی‌ها

 

برخی از سوالهای متداول درباره متمم (روی هر سوال کلیک کنید)

متمم چیست و چه می‌کند؟ (+ دانلود فایل PDF معرفی متمم)
چه دوره هایی در متمم ارائه می‌شوند؟
هزینه ثبت‌نام در متمم چقدر است؟
آیا در متمم فایل‌های صوتی رایگان هم برای دانلود وجود دارد؟

۲۳ نظر برای معمای قطار | مانور قطارها را چگونه انجام دهیم؟

     
    تمرین‌ها و نظرات ثبت شده روی این درس صرفاً برای اعضای متمم نمایش داده می‌شود.
    .