Lass uns Code-Golf spielen!
Die Herausforderung besteht darin, den Gewinner einer Partie Tic-Tac-Toe zu finden.
Dies wurde oft getan, indem ein Board mit einem eindeutigen Gewinner angegeben wurde. Hier ist jedoch die Wendung:
Die Zellen sind folgendermaßen nummeriert:
1|2|3
-+-+-
4|5|6
-+-+-
7|8|9
Sie erhalten eine Reihe von genau 9 Zügen wie folgt:
{3, 5, 6, 7, 9, 8, 1, 2, 3}
Dies wird wie folgt analysiert:
- Spieler 1 markiert Zelle 3
- Spieler 2 markiert Zelle 5
- Spieler 1 markiert Zelle 6
- Spieler 2 markiert Zelle 7
- Spieler 1 markiert Zelle 9
- Spieler 1 hat gewonnen
Hinweis: Das Spiel wird nicht unterbrochen, nachdem ein Spieler gewonnen hat. Es kann vorkommen, dass der unterlegene Spieler drei Mal hintereinander nach dem gewinnenden Spieler gewinnt, aber nur der erste Gewinn zählt.
Ihre Aufgabe ist es nun, 9 Zahlen als Eingabe und Ausgabe des Gewinners und der Runde, in der der Gewinn stattgefunden hat, zu erhalten. Wenn niemand gewinnt, geben Sie eine Konstante Ihrer Wahl aus. Sie können Eingaben empfangen und Ausgaben über jedes Standardmittel / -format bereitstellen.
Habe Spaß!
Einige weitere Beispiele auf Anfrage:
{2,3,4,5,6,7,1,8,9} => Player 2 wins in round 6
{1,2,4,5,6,7,3,8,9} => Player 2 wins in round 8
{1,2,3,5,4,7,6,8,9} => Player 2 wins in round 8
{3, 5, 6, 7, 9, 8, 1, 2, 3}
" - sollte 3
wirklich zweimal erscheinen?
[X, Y]
? Können wir im Falle eines Gleichstands stattdessen einen anderen konsistenten Wert ausgeben? Ich empfehle dies, da das Drucken dieser exakten Zeichenfolgen nicht unbedingt zum Golfen gehört. Für zukünftige Herausforderungen empfehle ich die Verwendung der Sandbox . :-)