Jack và Jane quyết định chơi một ván cờ để đi chơi xa. Thật không may, Jack khá tệ trong việc hình dung. Dĩ nhiên, anh thấy khó khăn khi tìm ra những động tác có thể cho một mảnh nhất định ngoài một con tốt, tất nhiên!
Thử thách của bạn là giúp tìm cho Jack những lựa chọn khả thi cho một mảnh nhất định (trừ một con tốt).
Trong trường hợp người ta đã quên, các mảnh khác nhau được ký hiệu là:
- K: Vua
- Q: Nữ hoàng
- N: Hiệp sĩ
- B: Giám mục
- R: Rook
Như một ví dụ, trong hình dưới đây Knight tọa lạc tại d4
và có thể chuyển sang c2
, b3
, b5
, c6
, e6
, f5
, f3
, e2
. Đối với một đầu vào nhất định:
Nd4
bạn sẽ sản xuất:
Nc2 Nb3 Nb5 Nc6 Ne6 Nf5 Nf3 Ne2
Quy tắc:
- Thứ tự của đầu ra không quan trọng miễn là tất cả các động thái có thể được liệt kê
- Các di chuyển có thể có thể được phân tách bằng khoảng trắng, dòng mới hoặc bất kỳ dấu phân cách nào khác
- Đầu vào có thể được truyền cho chương trình dưới dạng tham số hoặc thông qua
STDIN
- Khoảng trắng trong chương trình sẽ được tính, vì vậy hãy sử dụng tối ưu nó
Đây là mã golf. (Vui lòng tránh sử dụng bất kỳ công cụ / tiện ích nào được thiết kế riêng cho mục đích này.) Câu trả lời ngắn nhất sẽ thắng!
f(x)... case "Q": {f("B");f("R")}
Nếu hàm yêu cầu bất kỳ #inco nào thì đây sẽ là một phần của số byte.