Ein TicTacToe
Spiel kann durch eine Zeichenfolge dargestellt werden, die die Reihenfolge der Positionen angibt, an denen sich die Spieler bewegen.
0 1 2 3 4 5 6 7 8
Angenommen, es wird X
immer zuerst gespielt.
So bezeichnet eine Zeichenfolge von "012345678" das Spiel
XOX OXO XOX
Beachten Sie, dass das Spiel bereits gewonnen ist, wenn der Spieler das Spiel zu diesem Zeitpunkt als beendet X
markiert 6
und einen Gewinn für gewährt X
. (dh ignoriere die verbleibenden Züge, sobald ein Spieler gewinnt)
Ihre Herausforderung (Code) besteht darin, alle Spiele (sortierte Reihenfolge) und ihre Ergebnisse zu drucken.
Das Format
<movesequence>:<result>\n
z.B:
012345678:X
012345687:X
012345768:X
...
Bezeichnen Sie X
für den ersten Spieler, der gewinnt, O
für den zweiten Spieler und D
für Unentschieden.
Es wird 9!
(362880) Spiele geben.
Hier sind einige Daten, um Ihre Ergebnisse zu überprüfen.
'X' Wins: 212256
'O' Wins: 104544
Draws : 46080
Dies ist ein Codegolf und die Laufzeit sollte innerhalb einer Minute liegen. Habe Spaß!
BEARBEITEN: Entfernte überschüssige Details und drucke sie einfach auf stdout
. Keine Notwendigkeit, eine Datei zu erstellen.