Давайте поиграем в некоторый код-гольф!
Задача состоит в том, чтобы найти победителя игры в крестики-нолики.
Это было сделано много раз, давая доску с одним явным победителем, но вот поворот:
Ячейки нумеруются так:
1|2|3
-+-+-
4|5|6
-+-+-
7|8|9
Вы получаете массив из ровно 9 ходов:
{3, 5, 6, 7, 9, 8, 1, 2, 3}
Это анализируется следующим образом:
- Игрок 1 отмечает клетку 3
- Игрок 2 отмечает клетку 5
- Игрок 1 отмечает клетку 6
- Игрок 2 отмечает клетку 7
- Игрок 1 отмечает клетку 9
- Игрок 1 выиграл
Примечание: игра не останавливается после победы одного игрока, может случиться так, что проигравшему игроку удастся получить три подряд после победившего игрока, но учитывается только первый выигрыш.
Теперь ваша задача - получить 9 чисел в качестве входных и выходных данных о победителе и раунде, в котором произошел выигрыш. Если никто не выигрывает, выведите что-нибудь постоянное по вашему выбору. Вы можете получать входные данные и предоставлять выходные данные в любом стандартном среднем формате.
Повеселись!
Еще несколько примеров по запросу:
{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}
» - 3
действительно должно появиться дважды?
[X, Y]
? В случае связи, мы можем вывести любое другое последовательное значение вместо этого? Я рекомендую это, потому что печать этих точных струн не является частью игры в гольф. Для будущих задач, я рекомендую использовать песочницу . :-)