Для цілей цього питання колоду карт відформатована таким чином:
[
"AS", "2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "10S", "JS", "QS", "KS",
"AD", "2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D", "10D", "JD", "QD", "KD",
"AH", "2H", "3H", "4H", "5H", "6H", "7H", "8H", "9H", "10H", "JH", "QH", "KH",
"AC", "2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C", "10C", "JC", "QC", "KC",
"J", "J"
]
Картки завжди форматуються як цінність, а потім - костюми. Наприклад AS
, Пікова туза. Два сингли J - Джокери. Ми хочемо перетасувати цю колоду карт, але перемішування має бути Superb ™.
Superb Shuffle ™ - це той, у якому:
- Немає двох сусідніх карток (крім жартів) одного і того ж костюма.
- Жодна карта (крім жартів) не примикає до однієї і тієї ж цінності.
- Жодна карта (крім жартів) не примикає до одного із суміжних значень (одна вища або одна нижча в цьому порядку, A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, А. Зауважте, що туз не може бути сусіднім ні з 2, ні з королем).
- Жартаки можуть бути в будь-якому положенні.
- Визначення Superb Shuffle ™ не вимагає, щоб картки були в іншому порядку під час кожного перемішування. Що не дуже чудово, але це Superb ™.
Тому що це Superb ™.
Прикладом може бути:
[
"AS", "5D", "9H", "KC", "2D", "6H", "10C", "QS", "3H", "7C", "9S",
"KD", "4C", "6S", "10D", "AC", "3S", "7D", "JH", "J", "4D", "8H",
"QC", "AD", "5H", "9C", "JS", "2H", "6C", "8S", "QD", "3C", "5S",
"9D", "KH", "2S", "6D", "10H", "J", "3D", "7H", "JC", "KS", "4H",
"8C", "10S", "AH", "5C", "7S", "JD", "2C", "4S", "8D", "QH"
]
Змагання:
- Напишіть код, щоб виконати чудовий перемішання
- Використовуйте будь-яку мову.
- Вхід може бути будь-яким :
- колоду карт, як описано вище, у тому ж порядку , як масив чи інша структура списку.
- Немає вводу (код генерує колоду карт у тому порядку)
- Вихід повинен бути повною колодою карт у Superb Shuffle ™, як описано вище.
- Спроба виконати ваш Superb Shuffle ™ в найменшій кількості байтів.
- Посилання на Інтернет-перекладача, такого як Try It Online, є кращим, але необов’язковим.
Щасливі перетасування!
T
замість 10
?