Напишите программу, в которую вы будете играть в крестики-нолики Мизера. То есть цель состоит в том, чтобы заставить вашего противника занять три места подряд.
Примите для стандартного ввода либо «X», либо «O» (буква, а не ноль), чтобы определить, с какой стороны будет воспроизводиться программа. Затем выведите одну цифру для вашего хода в свой ход и прочитайте одну цифру на ходу ваших оппонентов, пока игра не закончится (X всегда идет первым). После определения победителя выведите X или O для победителя или D для ничьей. Например, если О получает 3 подряд, Х выигрывает.
Предположим, что доска нумеруется так:
0|1|2
-----
3|4|5
-----
6|7|8
В идеале решение будет оптимальным и никогда не проиграет. Как и в крестики-нолики, идеальная игра всегда должна приводить к ничьей. Если приведенный выше протокол соблюдается, я могу автоматически проверять отправленные документы на соответствие различным стратегиям.
Победитель самый короткий код. бонусные очки, если он выбирает случайно из одинаково хороших ходов, чтобы сделать его немного более непредсказуемым.
источник