دومینو

دومینو

دشوار

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

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

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

برای مثال، اگر مهره‌های [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

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

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

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

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