Магічний трюк із 5 картками передбачає фокусника, помічник якого дає їм 4 показані картки та приховану, в такому порядку, а фокусник повинен відгадати приховану.
УВАГА: Рішення нижче! Залиште зараз або зіпсуйтеся.
Рішення
Хитрість тут полягає в тому, що п’ять карток подаються в певному порядку !
- 5 карт у заданому порядку.
- номер картки в (порядковий номер).
, де - номер картки, а - ціле число, дорівнює номеру картки кроків праворуч від в , упаковка в початок , якщо це необхідно.
- костюм у (порядок костюму).
, де - номер картки, а - костюм, позначає картку з номером картки та костюмом .
, деі б є карти, правдаякщо«s костюм знаходиться зліва від Ь » s костюм в S O , або їх масті рівні іНомер карти зліва від Ь х номер карти в N O .
, де і - картки, вірно, якщо - хибне.
, де , і - картки, - це показник перестановки цього впорядкування, вказаний у таблиці нижче:
Рішення магічного трюку на 5 карт є проблемою:
Змагання
Все йде нормально. Тим НЕ менше, робити обчислення , вказане вище вже просив тут . Натомість, ваше завдання полягає в тому, щоб, з огляду на 5 карт в конкретному порядку, правильно їх замовити. Це означає, що перші чотири карти на виході представлятимуть п'яту. Іншими словами, будьте помічником. Вимоги:
- .
- (тобто це повинно бути можливим).
Приклад
Розглянемо безліч 7H,2D,6D,5C,6C
. Перш за все, беремо 25 пар:
7H,7H 7H,2D 7H,6D 7H,5C 7H,6C
2D,7H 2D,2D 2D,6D 2D,5C 2D,6C
6D,7H 6D,2D 6D,6D 6D,5C 6D,6C
5C,7H 5C,2D 5C,6D 5C,5C 5C,6C
6C,7H 6C,2D 6C,6D 6C,5C 6C,6C
Потім ми, очевидно, видаляємо 5 пар, які містять одну і ту ж карту двічі, вони не існують в одній колоді:
7H,2D 7H,6D 7H,5C 7H,6C
2D,7H 2D,6D 2D,5C 2D,6C
6D,7H 6D,2D 6D,5C 6D,6C
5C,7H 5C,2D 5C,6D 5C,6C
6C,7H 6C,2D 6C,6D 6C,5C
Після цього, оскільки костюми повинні бути однаковими, різні костюми в парі - це не-ні:
2D, 6D 6D, 2D 5С, 6С 6С, 5С
Нарешті ми перевіряємо, чи можна дістатись з першої картки до другої, додавши максимум 6, видаливши половину решти пар:
2D, 6D 5С, 6С
Тепер у нас є дійсні пари: 2D,6D
і 5C,6C
. Перша картка кожної пари - це картка 1, а остання - карта 5.
Ми їдемо 5C,6C
сюди за легкістю. Весь набір 7H,2D,6D,5C,6C
, таким чином, ми виймаємо дві картки у вибраній нами пари 7H,2D,6D
. Ці картки представлятимуть 6 - 5 = 1
, тому ми маємо замовити їх на кшталт "min, mid, max". 7H > 2D < 6D < 7H
або, просто 2D < 6D < 7H
, так у нас зараз 2D,6D,7H
.
Останній крок - зібрати все це разом, і таким буде наш результат 5C,2D,6D,7H,6C
.
Роз'яснення
- Ви можете використовувати
10
замість цьогоT
. - Ви можете використовувати один з
♠♥♦♣
,♤♡♢♧
або♠♡♢♣
замістьCDHS
, відповідно. - Це код-гольф , виграє найкоротший код.
Тестові справи
Ви можете вивести одне або декілька дійсних рішень, включених до кожного тестового випадку.
8S,TD,5C,QS,TS -> 8S,5C,QS,TD,TS
... 8S,TD,TS,5C,QS
... TS,5C,8S,TD,QS
JD,KH,4S,9D,8S -> 9D,KH,8S,4S,JD
... 4S,JD,KH,9D,8S
4H,4D,TH,KH,2C -> 4H,KH,4D,2C,TH
... TH,4D,2C,4H,KH
... KH,4D,TH,2C,4H
3S,KS,8S,KH,9H -> 9H,8S,KS,3S,KH
... 3S,KS,9H,KH,8S
... 8S,3S,9H,KH,KS
... KS,KH,9H,8S,3S
KH,TS,3C,7H,JD -> 7H,TS,JD,3C,KH
4C,KC,TD,JD,QS -> KC,JD,QS,TD,4C
... TD,4C,KC,QS,JD
AC,5H,8D,6D,8S -> 6D,AC,8S,5H,8D
AS,TC,3S,2H,9C -> 9C,2H,AS,3S,TC
... AS,9C,2H,TC,3S
4C,JS,AS,8H,JC -> JC,JS,AS,8H,4C
... JS,JC,4C,8H,AS
4H,QS,TH,QC,AC -> QC,4H,QS,TH,AC
... 4H,QS,QC,AC,TH