Розглянемо ці 15 шаблонів ігрових карт ASCII (туз через Джокер і тильну сторону), де X
є заповнювач символу костюма : (вони краще виглядають з меншим інтервалом між рядками)
------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- -------------
|AX | |2X | |3X | |4X | |5X | |6X | |7X | |8X | |9X | |10X | |JX | |QX | |KX | |J | |* * * * * * *|
| ------- | | ------- | | ------- | | ------- | | ------- | | ------- | | ------- | | ------- | | ------- | | ------- | | ------- | | ------- | | ------- | |O ------- | | * * * * * * |
| | | | | | | | | | | | | |X X| | | |X X| | | |X X| | | |X X| | | |X X| | | |X X| | | |X X| | | |X | | | |X | | | |X | | |K | | | |* * * * * * *|
| | | | | | X | | | | X | | | | | | | | | | | | | | | | X | | | | X | | | | | | | | X | | | | | | | | | | | | | | |E | J | | | * * * * * * |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |X X| | | |X X| | | | | | | | | | | | | | |R | O | | |* * * * * * *|
| | X | | | | | | | | X | | | | | | | | X | | | |X X| | | |X X| | | |X X| | | | X | | | | | | | | J | | | | Q | | | | K | | | | K | | | * * * * * * |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |X X| | | |X X| | | | | | | | | | | | | | | | E | J| |* * * * * * *|
| | | | | | X | | | | X | | | | | | | | | | | | | | | | | | | | X | | | | | | | | X | | | | | | | | | | | | | | | | R | O| | * * * * * * |
| | | | | | | | | | | | | |X X| | | |X X| | | |X X| | | |X X| | | |X X| | | |X X| | | |X X| | | | X| | | | X| | | | X| | | | | K| |* * * * * * *|
| ------- | | ------- | | ------- | | ------- | | ------- | | ------- | | ------- | | ------- | | ------- | | ------- | | ------- | | ------- | | ------- | | ------- E| | * * * * * * |
| XA| | X2| | X3| | X4| | X5| | X6| | X7| | X8| | X9| | X10| | XJ| | XQ| | XK| | R| |* * * * * * *|
------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- -------------
Напишіть програму, яка займає рядок, що позначає пробіл, розділений послідовністю карт, використовуючи ...
A 2 3 4 5 6 7 8 9 10 J Q K
Далі йде одна зC D H S
(для клубів, ромбів, сердечок і лопат) для 52 стандартних карт.- Сингл
R
для Джокера. - Сингл
B
для тильної сторони (карта обличчям вниз).
Так рядок B AS KH 10C R JD
позначає карту обличчям вниз, за нею лопату, а за нею - король сердець, а потім десять клубів, а потім Джокер, а потім - алмаз.
Вашій програмі необхідно роздрукувати відповідні ігрові карти ASCII для відстоювання, замінивши X
відповідним символом костюма.
Наприклад, висновок для B AS KH 10C R JD
буде
------------- ------------- ------------- ------------- ------------- -------------
|* * * * * * *| |AS | |KH | |10C | |J | |JD |
| * * * * * * | | ------- | | ------- | | ------- | |O ------- | | ------- |
|* * * * * * *| | | | | | |H | | | |C C| | |K | | | | |D | |
| * * * * * * | | | | | | | | | | | C | | |E | J | | | | | |
|* * * * * * *| | | | | | | | | | |C C| | |R | O | | | | | |
| * * * * * * | | | S | | | | K | | | | | | | | K | | | | J | |
|* * * * * * *| | | | | | | | | | |C C| | | | E | J| | | | |
| * * * * * * | | | | | | | | | | | C | | | | R | O| | | | |
|* * * * * * *| | | | | | | H| | | |C C| | | | | K| | | D| |
| * * * * * * | | ------- | | ------- | | ------- | | ------- E| | ------- |
|* * * * * * *| | SA| | HK| | C10| | R| | DJ|
------------- ------------- ------------- ------------- ------------- -------------
Ви можете взяти вхід з stdin або написати функцію, яка займає рядок.
Виграє подання з найменшою кількістю символів.
Бонус: відніміть 30 від кількості символів, якщо ви використовуєте чорні символи костюма Unicode ♣ ♦ ♥ ♠
замість C D H S
у своєму виході. (Вхід завжди використовується C D H S
.)
Примітки
- У вхідному рядку може бути більше 54 карт, а можуть бути дублікати будь-якої карти.
- Не повинно бути результатів, якщо вхід є порожнім рядком.
- Не повинно бути пробілів, окрім (необов'язково) двох, які складають праві кути останньої карти.
- Ви можете припустити, що введення дійсне.
- Оновлення: нижня права позначка на стандартних картках перевернена, тому значення знаходиться в куті. Правий нижній ярлик Джокера не змінився.