Đây là Hole-3 từ Giải đấu mùa thu của APL CodeGolf . Tôi là tác giả ban đầu của vấn đề ở đó, và do đó được phép đăng lại ở đây.
Được:
một số lượt (vui lòng nêu rõ nếu không có chuyển động nào là 0, nếu không chúng tôi sẽ cho rằng nó được gọi là 1) và
danh sách một hoặc nhiều vị trí bắt đầu (dưới bất kỳ hình thức nào, ví dụ 0 hoặc 1 tọa độ được lập chỉ mục hoặc 64 số / ký tự liên tiếp hoặc A1 Thẻ H8 - trạng thái), trên bàn cờ 8-8,
return (theo bất kỳ thứ tự nào) danh sách các vị trí duy nhất (có cùng định dạng với đầu vào) mà hiệp sĩ có thể có sau số lượt đã cho.
Mỗi hiệp sĩ phải di chuyển với mỗi lượt, nhưng bạn không phải lo lắng về việc nhiều hiệp sĩ chiếm cùng một hình vuông.
Một hiệp sĩ chỉ có thể di chuyển đến các vị trí được đánh dấu X so với vị trí hiện tại của nó, được đánh dấu bằng ♞:
Ví dụ (tọa độ 1 chỉ mục)
1
chuyển từ [[1,1]]
: [[2,3],[3,2]]
2
chuyển từ [[1,1]]
: [[1,1],[1,3],[1,5],[2,4],[3,1],[3,5],[4,2],[4,4],[5,1],[5,3]]
1
chuyển từ [[1,1],[5,7]]
: [[2,3],[3,2],[3,6],[3,8],[4,5],[6,5],[7,6],[7,8]]
2
chuyển từ [[1,1],[5,7]]
: [[1,1],[1,3],[1,5],[1,7],[2,4],[2,6],[2,8],[3,1],[3,3],[3,5],[3,7],[4,2],[4,4],[4,6],[4,8],[5,1],[5,3],[5,5],[5,7],[6,4],[6,6],[6,8],[7,3],[7,7],[8,4],[8,6],[8,8]]
0
chuyển từ [[3,4]]
: [[3,4]]
[[1,1]], 2 -> [[2,3],[3,2]]