(Meskipun 60+ pertanyaan ditandai catur , kami tidak memiliki tantangan n-ratu sederhana.)
Dalam catur, Puzzle N-Queens digambarkan sebagai berikut: Diberikan n x n
papan catur dan n
ratu, atur ratu ke papan catur sehingga tidak ada dua ratu yang saling mengancam. Di bawah ini adalah contoh solusi untuk n = 8
, yang dipinjam dari Wikipedia.
Atau, dalam rendering ASCII:
xxxQxxxx
xxxxxxQx
xxQxxxxx
xxxxxxxQ
xQxxxxxx
xxxxQxxx
Qxxxxxxx
xxxxxQxx
Tantangannya di sini adalah untuk mengambil input n
dan output representasi ASCII dari solusi untuk n
puzzle -Queens. Karena ada lebih dari satu solusi yang mungkin (mis., Setidaknya, rotasi atau refleksi), kode Anda hanya perlu menampilkan solusi yang valid.
Memasukkan
Integer positif tunggal n
dengan n >= 4
format apa pun yang nyaman . (n = 2 dan n = 3 tidak memiliki solusi, dan n = 1 adalah sepele, jadi itu dikecualikan)
Keluaran
Representasi ASCII yang dihasilkan dari solusi untuk puzzle N-queens, seperti diuraikan di atas. Anda dapat memilih dua nilai ASCII yang berbeda untuk mewakili ruang kosong dan ratu. Sekali lagi, ini bisa berupa output dalam format yang sesuai (string tunggal, daftar string, array karakter, dll.).
Aturan
- Leading atau trailing newlines atau spasi putih semuanya opsional, serta spasi putih di antara karakter, selama karakter itu sendiri berbaris dengan benar.
- Anda dapat menggunakan algoritme untuk menghitung posisi yang mungkin, atau menggunakan gaya solusi "tangga-langkah" eksplisit, yang mana pun sesuai dengan kode golf Anda.
- Program lengkap atau fungsi dapat diterima. Jika suatu fungsi, Anda dapat mengembalikan output daripada mencetaknya.
- Jika memungkinkan, harap sertakan tautan ke lingkungan pengujian online sehingga orang lain dapat mencoba kode Anda!
- Celah standar dilarang.
- Ini adalah kode-golf sehingga semua aturan golf biasa berlaku, dan kode terpendek (dalam byte) menang.
Contohnya
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