Écrivez un programme qui va jouer une partie de Misère tic-tac-toe. Autrement dit, l'objectif est de forcer votre adversaire à en prendre trois d'affilée.
Acceptez sur l'entrée standard un «X» ou un «O» (la lettre, pas zéro), pour déterminer de quel côté le programme sera joué. Puis sortez un seul chiffre pour votre mouvement à votre tour, et lisez un seul chiffre sur le tour de vos adversaires jusqu'à la fin du jeu (X va toujours en premier). Une fois qu'un gagnant est décidé, affichez X ou O pour celui qui a gagné, ou D pour un match nul. Par exemple, si O obtient 3 d'affilée, X gagne.
Supposons que le tableau soit numéroté comme suit:
0|1|2
-----
3|4|5
-----
6|7|8
Idéalement, une solution sera optimale et ne perdra jamais. Comme le tic-tac-toe, un jeu parfait devrait toujours entraîner un match nul. Si le protocole ci-dessus est respecté, je peux tester automatiquement les soumissions par rapport à une variété de stratégies possibles.
Le gagnant est le code le plus court. des points bonus s'il choisit au hasard parmi des mouvements tout aussi bons pour le rendre un peu plus imprévisible.
la source