دومینو

دومینو

متوسط

مقدمه

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

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

اسباب‌بازی‌ها برای حل این معما به شما امید بسته‌اند. آیا دومینوها ریل‌ها را به هم وصل می‌کنند و قطار را به راه می‌اندازند، یا این مجموعه جا می‌ماند؟

دستورالعمل‌ها

یک زنجیره از دومینو بسازید.

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

برای مثال، با داشتن سنگ‌های [2|1]، [2|3] و [1|3] باید چیزی مثل [1|2] [2|3] [3|1] یا [3|2] [2|1] [1|3] یا [1|3] [3|2] [2|1] و از این قبیل محاسبه کنید، جایی که اعداد اول و آخر یکسان‌اند.

برای سنگ‌های [1|2]، [4|1] و [2|3] زنجیره‌ی حاصل معتبر نیست: اعداد اول و آخر [4|1] [1|2] [2|3] یکسان نیستند. 4 != 3

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

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Zig Exercism

آماده‌اید دومینو را شروع کنید؟

در Exercism ثبت‌نام کنید تا Zig را همراه با 104 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.