Wenn Sie nicht wissen, was eine Königin im Schach ist, spielt es keine Rolle. Es ist nur ein Name :)
Ihre Eingabe wird ein Quadrat von beliebiger Breite und Höhe sein, das eine gewisse Anzahl von Königinnen enthält. Die Eingabekarte sieht folgendermaßen aus (diese Karte hat eine Breite und Höhe von 8):
...Q....
......Q.
..Q.....
.......Q
.Q......
....Q...
Q.......
.....Q..
Es gibt 8 Königinnen auf diesem Brett. Wenn es hier zum Beispiel 7 oder 1 oder 10 gäbe, wäre die Tafel nicht gültig.
Hier verwenden wir a .für einen leeren Raum und a Qfür eine Königin. Alternativ können Sie auch ein beliebiges Nicht-Leerzeichen verwenden.
Diese Eingabe kann als gültig überprüft werden, und Sie sollten einen Wahrheitswert ausgeben (oder zurückgeben) (falls sie nicht gültig ist, sollten Sie einen falschen Wert ausgeben (oder zurückgeben)). Es ist gültig, weil sich keine Dame in derselben Zeile, Spalte, Diagonale oder Antidiagonale wie eine andere befindet .
Beispiele (Dinge nicht in Klammern ausgeben):
...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)
Lassen Sie mich betonen, dass eine Eingabe nur gültig ist, wenn sich keine Dame in derselben Zeile, Spalte, Diagonale oder Antidiagonale wie eine andere befindet .
Regeln
- Sie werden niemals eine leere Eingabe erhalten
- Wenn die Eingabe weniger Damen als die Quadratwurzel des Bereichs der Tafel enthält, ist sie ungültig.
- Beachten Sie, dass es keine gültigen Lösungen für eine 2x2- oder 3x3-Platine gibt. Es gibt jedoch eine Lösung für jede andere quadratische Platinengröße, bei der Breite und Höhe eine natürliche Zahl sind.
- Die Eingabe kann in einem angemessenen Format gemäß den PPCG-Regeln erfolgen
- Die Eingabe wird immer ein Quadrat sein
- Ich habe in den Beispielen 1 und 0 verwendet, aber Sie können alle wahrheitsgemäßen oder falschen Werte (wie
Why yes, sir, that is indeed the caseundWhy no, sir, that is not the case) verwenden.
Da dies Codegolf ist , gewinnt der kürzeste Code!
{(x, y, v)}mit vin [., Q]ein gültiges Eingabeformat?
(0, 0, Q), (0, 1, .), (1, 0, Q), (1, 1, .)wäre der dritte Testfall.