Im Schach kann sich eine Königin so weit bewegen, wie sich das Brett horizontal, vertikal oder diagonal erstreckt.
Drucken Sie bei einem Schachbrett der Größe NxN aus, wie viele Positionen N Königinnen auf dem Brett platziert werden können und sich nicht in einem Zug gegenseitig schlagen können.
code-challenge
combinatorics
chess
Dan McGrath
quelle
quelle
Antworten:
Hier ist eine Lösung (ursprünglich aus diesem Blogeintrag ), in der ich eine logische Beschreibung der Lösung in konjunktiver Normalform konstruiere, die dann von Mathematica gelöst wird:
Hier ist die Ausgabe:
quelle
Rubin
Ich sehe keingolf
Tag, also gehe ich davon aus, dass es nur eine Herausforderung ist.Hier ist eine Implementierung des auf Wikipedia erwähnten Algorithmus. Es ist nicht von mir, es ist bei Rosetta Stone und kann hier gefunden werden
CommWikied diese Antwort.
quelle
Python 2,
190185 ZeichenIch habe nur den Code Golf Tag angenommen, obwohl er nicht da war. Wird N aus stdin gelesen, berechnet das Programm Lösungen bis zu n = 10 in akzeptabler Zeit.
quelle
Groovy
Liefert eine Liste aller Queen-Lösungen wie folgt:
Zur grafischen Darstellung hinzufügen:
das sieht so aus:
quelle