Trò chơi cờ đam Trung Quốc được chơi trên một bảng với các khoảng trống trong hình ngôi sao sáu cánh:
Chúng ta có thể tạo một đại diện nghệ thuật ASCII của bảng này, sử dụng .
cho các điểm trống và các chữ cái GYORPB
cho sáu vị trí bắt đầu được tô màu:
G
G G
G G G
G G G G
B B B B . . . . . Y Y Y Y
B B B . . . . . . Y Y Y
B B . . . . . . . Y Y
B . . . . . . . . Y
. . . . . . . . .
P . . . . . . . . O
P P . . . . . . . O O
P P P . . . . . . O O O
P P P P . . . . . O O O O
R R R R
R R R
R R
R
Để làm cho nó thú vị hơn, chúng ta cũng có thể thay đổi kích thước. Chúng tôi sẽ đo kích thước của một bảng theo chiều dài cạnh của các vị trí bắt đầu hình tam giác của nó: bảng ở trên là kích thước 4.
Vì thực sự rất khó để gõ tất cả những thứ đó bằng tay, hãy viết một chương trình (hoặc chức năng) để làm điều đó!
Chi tiết
Mã của bạn nên lấy một số nguyên dương biểu thị kích thước của bảng, thông qua STDIN, ARGV hoặc đối số hàm. Xuất mẫu bảng kiểm tra thành STDOUT (bạn có thể luân phiên trả nó dưới dạng chuỗi nếu trình của bạn là một hàm).
Đầu ra phải
- không có dấu vết ở tất cả, hoặc
- có chính xác đủ các khoảng trống để điền vào mẫu hình chữ nhật hoàn hảo có chiều rộng 6 * N + 1.
Đầu ra có thể tùy chọn có một dòng mới. Không có khoảng trắng bổ sung (hàng đầu, dấu) khác được cho phép.
Ví dụ
Kích thước 1:
G
B . . Y
. . .
P . . O
R
Kích thước 2:
G
G G
B B . . . Y Y
B . . . . Y
. . . . .
P . . . . O
P P . . . O O
R R
R
Kích thước 4:
G
G G
G G G
G G G G
B B B B . . . . . Y Y Y Y
B B B . . . . . . Y Y Y
B B . . . . . . . Y Y
B . . . . . . . . Y
. . . . . . . . .
P . . . . . . . . O
P P . . . . . . . O O
P P P . . . . . . O O O
P P P P . . . . . O O O O
R R R R
R R R
R R
R
Chấm điểm
Đây là code-golf : mã ngắn nhất tính bằng byte thắng.