(Mặc dù có hơn 60 câu hỏi được gắn thẻ cờ vua , chúng tôi không có thử thách đơn giản với nữ hoàng.)
Trong cờ vua, Câu đố N-Queens được mô tả như sau: Đưa ra một n x n
bàn cờ và các n
nữ hoàng, sắp xếp các nữ hoàng lên bàn cờ để không có hai nữ hoàng nào đe dọa nhau. Dưới đây là một giải pháp ví dụ cho n = 8
, mượn từ Wikipedia.
Hoặc, trong kết xuất ASCII:
xxxQxxxx
xxxxxxQx
xxQxxxxx
xxxxxxxQ
xQxxxxxx
xxxxQxxx
Qxxxxxxx
xxxxxQxx
Thách thức ở đây sẽ là đưa đầu vào n
và đầu ra một đại diện ASCII của một giải pháp cho n
câu đố -Queens. Vì có nhiều hơn một giải pháp khả thi (ví dụ: ít nhất là xoay hoặc phản xạ), mã của bạn chỉ cần xuất bất kỳ giải pháp hợp lệ nào.
Đầu vào
Một số nguyên dương duy nhất n
với n >= 4
bất kỳ định dạng thuận tiện . (n = 2 và n = 3 không có giải pháp và n = 1 là tầm thường, vì vậy những cái đó bị loại trừ)
Đầu ra
Kết quả đại diện ASCII của một giải pháp cho câu đố N-nữ hoàng, như đã nêu ở trên. Bạn có thể chọn bất kỳ hai giá trị ASCII riêng biệt nào để thể hiện các khoảng trắng và kiến trúc trống. Một lần nữa, đây có thể là đầu ra ở bất kỳ định dạng phù hợp (chuỗi đơn, danh sách các chuỗi, mảng ký tự, v.v.).
Quy tắc
- Các dòng mới hoặc dấu cách hàng đầu hoặc dấu trắng đều là tùy chọn, cũng như khoảng trắng giữa các ký tự, miễn là bản thân các ký tự xếp hàng chính xác.
- Bạn có thể sử dụng thuật toán để tính toán các vị trí có thể hoặc sử dụng kiểu giải pháp "bậc thang" rõ ràng, tùy theo trường hợp nào là mã cho mã của bạn.
- Một chương trình đầy đủ hoặc một chức năng được chấp nhận. Nếu một chức năng, bạn có thể trả lại đầu ra thay vì in nó.
- Nếu có thể, vui lòng bao gồm một liên kết đến một môi trường thử nghiệm trực tuyến để người khác có thể thử mã của bạn!
- Sơ hở tiêu chuẩn bị cấm.
- Đây là môn đánh gôn, vì vậy tất cả các quy tắc chơi gôn thông thường đều được áp dụng và mã ngắn nhất (tính bằng byte) sẽ thắng.
Ví dụ
n=4
xQxx
xxxQ
Qxxx
xxQx
n=7
xxQxxxx
xxxxxxQ
xQxxxxx
xxxQxxx
xxxxxQx
Qxxxxxx
xxxxQxx
n=10
xxxxQxxxxx
xxxxxxxxxQ
xxxQxxxxxx
xxxxxxxxQx
xxQxxxxxxx
xxxxxxxQxx
xQxxxxxxxx
xxxxxxQxxx
Qxxxxxxxxx
xxxxxQxxxx