Bạn nên viết một chương trình hoặc chức năng nhận một chuỗi đại diện cho bàn cờ chỉ với những con tốt làm đầu vào và đầu ra hoặc trả về cho dù có thể bắt được bất kỳ hình thức nào trên bàn cờ.
Đầu vào là một ký hiệu giống như FEN mô tả vị trí của những con tốt trắng và đen mà không có phần nào khác hiện diện. Bạn nên quyết định nếu có một con tốt có thể bắt được kẻ thù.
Mỗi cấp bậc được mô tả, bắt đầu với thứ hạng 8 và kết thúc với thứ hạng 1; trong mỗi cấp bậc, nội dung của mỗi ô vuông được mô tả từ tệp "a" thông qua tệp "h". Mỗi con tốt được xác định bằng một chữ cái duy nhất (cầm đồ trắng = "P", cầm đồ đen = "p",). Hình vuông trống được ghi chú bằng cách sử dụng các chữ số từ 1 đến 8 (số lượng hình vuông trống) và "/" phân tách các cấp bậc. (lấy một phần từ Wikipedia)
Ví dụ
8/pppppppp/8/8/4P3/8/PPPP1PPP/8
mô tả bảng
--------
pppppppp
P
PPPP PPP
--------
Một con tốt màu trắng có thể chụp một con màu đen nếu con màu đen được đặt theo đường chéo từ nó (màu đen là bên trái hoặc bên phải) và một con tốt màu đen có thể chụp một con màu trắng nếu con màu trắng nằm chéo bên dưới nó (màu trắng là xuống trái hoặc xuống phải). Không có động thái bắt giữ khác ( en passant ) nên được xem xét.
Đầu vào
- Một chuỗi giống FEN bao gồm các ký tự
12345678pP/
. - Đầu vào mô tả những con tốt của một vị trí trò chơi cờ hợp lệ. Điều này có nghĩa (trong số các ràng buộc phức tạp khác) sẽ có tối đa 8 con tốt cho mỗi bên và không có con tốt nào trong hàng 1 và 8.
Đầu ra
- Nếu có một chụp có thể cho cả hai phía, bạn nên đầu ra một truthy giá trị và một falsy giá trị khác.
Ví dụ
Đầu vào với truthy đầu ra (mỗi dòng)
8/7p/6P1/8/8/8/8/8
8/8/p7/1P6/3P3p/8/8/8
8/2P5/8/4P1p1/2p2P2/3p4/3p1P2/8
8/P7/8/5P2/2pp4/3P2p1/3pP3/8
8/P7/p7/p1P1P3/1P3p2/8/1p6/8
8/4p1P1/2P2P1P/2p1pPpp/8/6P1/pP1p4/8
Đầu vào với falsy đầu ra (mỗi dòng)
8/8/8/8/8/8/8/8
8/7P/6p1/8/8/8/8/8
8/7p/7P/8/8/8/8/8
8/pppppppp/8/8/8/8/PPPPPPPP/8
8/p7/8/1p6/5P2/8/8/8
8/p7/P7/2P1p1p1/2p5/8/PP6/8
Đây là mã golf nên mục ngắn nhất sẽ thắng.
7P
có nghĩa là con tốt ở tập tin thứ 8 cuối cùng. (Mặc dù sơ đồ không chính xác, tôi đã sửa nó.)
8/pppppppp/8/8/8/7P/PPPP1PPP/8
?