Se non sai cos'è una regina negli scacchi, non importa molto; è solo un nome :)
Il tuo input sarà un quadrato di larghezza e altezza arbitrarie contenente una certa quantità di regine. La scheda di input avrà questo aspetto (questa scheda ha una larghezza e un'altezza di 8):
...Q....
......Q.
..Q.....
.......Q
.Q......
....Q...
Q.......
.....Q..
Ci sono 8 regine su questa scheda. Se ci fossero, diciamo, 7, o 1, o 10 qui, la scheda non sarebbe valida.
Qui usiamo a .per uno spazio vuoto e a Qper una regina. In alternativa, puoi utilizzare qualsiasi carattere non bianco che desideri.
Questo input può essere verificato come valido e dovresti stampare (o restituire) un valore di verità (se non è valido, dovresti stampare (o restituire) un valore di falsa). È valido perché nessuna regina è nella stessa riga, colonna, diagonale o anti-diagonale di un'altra .
Esempi (non generare elementi tra parentesi):
...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)
Vorrei sottolineare che un input è valido solo se nessuna regina è nella stessa riga, colonna, diagonale o anti-diagonale di un'altra .
Regole
- Non riceverai mai un input vuoto
- Se l'input contiene meno regine rispetto alla radice sqaure dell'area della scheda, non è valido.
- Nota che non esistono soluzioni valide per una scheda 2x2 o 3x3, ma esiste una soluzione per ogni altra scheda quadrata di dimensioni , in cui larghezza e altezza sono un numero naturale.
- L'input può essere in qualsiasi formato ragionevole, secondo le regole PPCG
- L'input sarà sempre un sqaure
- Ho usato 1 e 0 negli esempi, ma puoi usare qualsiasi valore di verità o falsità (come
Why yes, sir, that is indeed the caseeWhy no, sir, that is not the case)
Dato che si tratta di code-golf , vince il codice più corto!
{(x, y, v)}con vin [., Q]essere un formato di input valido?
(0, 0, Q), (0, 1, .), (1, 0, Q), (1, 1, .)sarebbe il terzo caso di test.