Jika Anda tidak tahu apa arti ratu dalam catur, itu tidak masalah; itu hanya nama :)
Input Anda akan berupa kuadrat lebar dan tinggi acak yang berisi sejumlah ratu. Papan input akan terlihat seperti ini (papan ini memiliki lebar dan tinggi 8):
...Q....
......Q.
..Q.....
.......Q
.Q......
....Q...
Q.......
.....Q..
Ada 8 ratu di papan ini. Jika ada, katakanlah, 7, atau 1, atau 10 di sini, dewan tidak akan valid.
Di sini kita gunakan .
untuk ruang kosong, dan Q
untuk ratu. Anda dapat, sebagai alternatif, menggunakan karakter non-spasi putih yang Anda inginkan.
Input ini dapat diverifikasi sebagai valid, dan Anda harus mencetak (atau mengembalikan) nilai yang sebenarnya (jika tidak valid, Anda harus mencetak (atau mengembalikan) nilai palsu). Ini valid karena tidak ada ratu di baris yang sama, kolom, diagonal atau anti-diagonal seperti yang lain .
Contoh (jangan tampilkan benda dalam tanda kurung):
...Q....
......Q.
..Q.....
.......Q
.Q......
....Q...
Q.......
.....Q..
1
...Q.
Q....
.Q...
....Q
..Q..
0
Q.
Q.
0
..Q
...
.Q.
0 (this is 0 because there are only 2 queens on a 3x3 board)
..Q.
Q...
...Q
.Q..
1
Q
1 (this is valid, because the board is only 1x1, so there's no queen that can take another)
Biarkan saya tekankan bahwa input hanya valid, jika tidak ada ratu di baris, kolom, diagonal atau anti-diagonal yang sama dengan yang lain .
Aturan
- Anda tidak akan pernah menerima input kosong
- Jika input mengandung lebih sedikit ratu daripada akar kuadrat dari area papan, itu tidak valid.
- Perhatikan tidak ada solusi yang valid untuk papan 2x2 atau 3x3, tetapi ada solusi untuk setiap papan ukuran persegi lainnya, di mana lebar dan tinggi adalah bilangan alami.
- Input mungkin dalam format apa pun yang masuk akal, sesuai aturan PPCG
- Input akan selalu berupa sqaure
- Saya menggunakan 1 dan 0 dalam contoh, tetapi Anda dapat menggunakan nilai yang benar atau salah (seperti
Why yes, sir, that is indeed the case
danWhy no, sir, that is not the case
)
Karena ini adalah kode-golf , kode terpendek menang!
{(x, y, v)}
dengan v
di [., Q]
menjadi format input yang valid?
(0, 0, Q), (0, 1, .), (1, 0, Q), (1, 1, .)
akan menjadi kasus uji ketiga.