Ein TicTacToeSpiel 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 Ximmer 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 Xmarkiert 6und 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 Xfür den ersten Spieler, der gewinnt, Ofür den zweiten Spieler und Dfü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.