В свете Открытого чемпионата Австралии по теннису 2014 года в Мельбурне и победы Станислава Вавринки над Новаком Джоковичем, я предлагаю следующее испытание кода в гольф!
Вавринка и Джокович снова в этом за основу этого CGC. Ваша задача - взять строку, состоящую из 1 и 2, и определить результаты игры в теннис на основе системы подсчета очков. «1» указывает, что Вавринка набрал очко, а «2» указывает, что Джокович набрал очко.
Для примера: 1211222122111122111
сгенерируем двухстрочный вывод:
Wawrinka 1 - 40
Djokovic 1 - 30
Чем длиннее строка, тем дальше в игре счет.
Правила:
- Самый короткий код выигрывает, чистый и простой.
- Результаты при отображении должны быть выровнены по правому краю, а также по столбцу; например
Пример выравнивания выходных данных:
Wawrinka 7 5 3 - 0 Djokovic 6 7 4 - 15
Если игра идет, счет должен отображаться после установленных результатов. Игровые оценки должны соответствовать заданным счетам с разделителем пробел-тире-пробел. Если это первая игра, необходимо отобразить счет 0-0.
Wawrinka 0 - 0 Djokovic 0 - 15
Игра будет идти в порядке 0, 15, 30, 40 и игрового очка. Если игра достигает 40-40, двойка объявляется, и счет должен отображать двойку в строке игрока, набравшего очко:
Wawrinka 7 5 3 - 40 Djokovic 6 7 4 - 40 Deuce
Если двойка достигнута, то следующий балл будет преимуществом для игрока, набравшего балл:
Wawrinka 7 5 3 - Ad Djokovic 6 7 4 - 40
Очко после этого, если выиграл выигравший игрок, выигрывает игру, иначе игра возвращается к двойке.
Если между точками преимущества набрано более одной двойки, номер двойки будет указан числом в скобках:
Wawrinka 7 5 3 - 40 Djokovic 6 7 4 - 40 Deuce (2)
Набор выигрывается, если игрок доходит до 6 или более игр с отрывом в две игры, например, 7-5, 6-4 ... 9-7 (в случае пятого сета прошлой ночи)
Последовательные множества должны быть разделены пробелом.
На Открытом чемпионате Австралии есть перерывы на ничью, поэтому, если достигнут сет 6-6, тай-брейк устанавливается первым игроком, который набирает семь очков с отрывом в два очка. Отображение разрывов связи показано в квадратных скобках следующим образом:
Wawrinka 7 6 [6] Djokovic 6 6 [4]
Говорят, что победитель тай-брейка выиграл предыдущий сет 7-6.
Если пятый сет достигает 6-6, игра продолжается без перерывов до тех пор, пока один игрок не достигнет поля в две игры, и этот игрок станет победителем этого сета. В пятом сете нет НИКАКИХ тай-брейков.
Если игрок выиграл три сета, будет отображена третья строка с сообщением
Wawrinka wins
или вDjokovic wins
зависимости от того, кто выиграл, и код завершается.Wawrinka 2 6 6 3 9 Djokovic 6 4 2 6 7 Wawrinka wins
Если строка заканчивается так, что последняя точка выиграла игру, сет или матч, игровой счет не отображается ...
Wawrinka 7 5 3 Djokovic 6 7 4
Если строка выходит за рамки выигранного матча, остальная часть строки игнорируется, отображается счет и объявляется победитель.