Si vous ne savez pas ce qu'est une reine aux échecs, peu importe; c'est juste un nom :)
Votre entrée sera un carré de largeur et de hauteur arbitraires contenant une certaine quantité de reines. La carte d'entrée ressemblera à ceci (cette carte a une largeur et une hauteur de 8):
...Q....
......Q.
..Q.....
.......Q
.Q......
....Q...
Q.......
.....Q..
Il y a 8 reines sur ce tableau. S'il y avait, disons, 7, 1 ou 10 ici, le tableau ne serait pas valide.
Ici, nous utilisons un .
pour un espace vide et un Q
pour une reine. Vous pouvez également utiliser à la place n'importe quel caractère non blanc.
Cette entrée peut être vérifiée comme valide et vous devez imprimer (ou renvoyer) une valeur véridique (si elle n'était pas valide, vous devez imprimer (ou renvoyer) une valeur falsifiée). Elle est valable car aucune reine n'est dans la même ligne, colonne, diagonale ou anti-diagonale qu'une autre .
Exemples (ne pas afficher les éléments entre parenthèses):
...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)
Permettez-moi de souligner qu'une entrée n'est valide que si aucune reine n'est dans la même ligne, colonne, diagonale ou anti-diagonale qu'une autre .
Règles
- Vous ne recevrez jamais une entrée vide
- Si l'entrée contient moins de reines que la racine carrée de la zone du tableau, elle n'est pas valide.
- Notez qu'il n'y a pas de solutions valides pour une carte 2x2 ou 3x3, mais il existe une solution pour toutes les autres cartes carrées de taille , où la largeur et la hauteur sont un nombre naturel.
- L'entrée peut être dans n'importe quel format raisonnable, selon les règles PPCG
- L'entrée sera toujours un sqaure
- J'ai utilisé 1 et 0 dans les exemples, mais vous pouvez utiliser n'importe quelle valeur vraie ou fausse (comme
Why yes, sir, that is indeed the case
etWhy no, sir, that is not the case
)
Comme il s'agit de code-golf , le code le plus court gagne!
{(x, y, v)}
avec v
en [., Q]
être un format d'entrée valide?
(0, 0, Q), (0, 1, .), (1, 0, Q), (1, 1, .)
serait le troisième cas de test.