Давайте пограємо в якийсь код-гольф!
Завдання полягає в тому, щоб знайти переможця в грі Tic-Tac-Toe.
Це було зроблено багато разів, даючи дошці, яка має одного явного переможця, але ось перелом:
Осередки пронумеровані так:
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]
? У разі зв'язання, чи можемо ми замість цього вивести будь-яке інше послідовне значення? Я рекомендую це, тому що друк цих точних рядків насправді не є частиною гольфу. Для майбутніх ідей викликів рекомендую використовувати пісочницю . :-)