TicTacToeGra może być reprezentowany przez ciąg oznaczający kolejność pozycji jak gracze zrobić ich ruch.
0 1 2 3 4 5 6 7 8
Zakładaj, że Xzawsze gra pierwszy.
Więc ciąg „012345678” oznacza grę
XOX OXO XOX
Zauważ, że gra jest już wygrana, gdy gracz Xoznaczy 6, w tym momencie gra się kończy, przyznając wygraną X. (tzn. zignoruj pozostałe ruchy, gdy gracz wygra)
Wyzwaniem (kodem) jest wydrukowanie wszystkich gier (posortowana kolejność) i ich wyników.
Format
<movesequence>:<result>\n
na przykład:
012345678:X
012345687:X
012345768:X
...
Oznacz Xwygraną pierwszego gracza, Odrugiego gracza i Dlosowania.
Będą 9!(362880) gry.
Oto kilka danych umożliwiających sprawdzenie wyników.
'X' Wins: 212256
'O' Wins: 104544
Draws : 46080
To jest codegolf, a czas działania powinien być w ciągu minuty. Baw się dobrze!
EDYCJA: Usunąłem nadmiar szczegółów i po prostu wydrukowałem stdout. Nie ma potrzeby tworzenia pliku.