Hãy xem xét 15 mẫu thẻ chơi ASCII này (ace qua Joker và mặt sau), nơi X
giữ chỗ cho biểu tượng phù hợp : (chúng trông đẹp hơn với khoảng cách dòng ít hơn)
------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- -------------
|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| |* * * * * * *|
------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- -------------
Viết chương trình lấy một chuỗi biểu thị một chuỗi thẻ được phân tách bằng dấu cách bằng cách sử dụng ...
A 2 3 4 5 6 7 8 9 10 J Q K
theo sau là một trongC D H S
(cho các câu lạc bộ, kim cương, trái tim và thuổng) cho 52 thẻ tiêu chuẩn.- Một đơn
R
cho một Joker. - Một đơn
B
cho mặt sau (một thẻ úp mặt).
Vì vậy, chuỗi B AS KH 10C R JD
biểu thị một lá bài úp mặt, theo sau là một át ma thuật, theo sau là một vị vua của trái tim, theo sau là mười câu lạc bộ, theo sau là một Joker, theo sau là một viên kim cương.
Chương trình của bạn cần in các thẻ chơi ASCII tương ứng ra thiết bị xuất chuẩn, thay thếX
bằng biểu tượng phù hợp.
Ví dụ: đầu ra cho B AS KH 10C R JD
sẽ là
------------- ------------- ------------- ------------- ------------- -------------
|* * * * * * *| |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|
------------- ------------- ------------- ------------- ------------- -------------
Bạn có thể lấy đầu vào từ stdin hoặc viết một hàm lấy một chuỗi.
Bài nộp với số lượng nhân vật ngắn nhất sẽ thắng.
Phần thưởng: Trừ 30 từ số ký tự của bạn nếu bạn sử dụng các ký hiệu phù hợp Unicode màu đen ♣ ♦ ♥ ♠
thay vì C D H S
trong đầu ra của bạn. (Đầu vào luôn sử dụngC D H S
.)
Ghi chú
- Có thể có hơn 54 thẻ trong chuỗi đầu vào và có thể có các bản sao của bất kỳ thẻ nào.
- Không nên có đầu ra nếu đầu vào là chuỗi rỗng.
- Không nên có dấu cách bên cạnh (tùy chọn) hai cái tạo thành các góc bên phải của thẻ cuối cùng.
- Bạn có thể cho rằng đầu vào là hợp lệ.
- Cập nhật: Nhãn dưới bên phải trên thẻ tiêu chuẩn đã bị đảo ngược để giá trị nằm ở góc. Nhãn Joker bên phải thấp hơn đã không thay đổi.