Мини-конкурс на CodinGame

Сегодня принял участие в очередном конкурсе от CodinGame. На этот раз нужно было спрограммировать бота для карточной игры по мотивам Warcraft. Уже за одно это разработчикам огромнейший респект — порадовали! Но, в отличие от предыдущих конкурсов, поменялся формат. Теперь конкурс проводится не за десять дней, как раньше состоит из двух частей, считаемых независимыми конкурсами. Первая — спринт: нужно представить решение задачи всего за 4 часа. Вторая — марафон — на ту же самую задачу (но с открытием лиг выше бронзовой) отводится 4 недели.
Сегодня был спринт. Началось все достаточно хорошо: я за час с небольшим разобрался в условиях и написал код, позволивший мне влегкую проскочить третью дубовую лигу. Причем еще решил писать на PHP, а не на Python, в расчете на то, что на этом языке никто другой писать не будет, и у меня будут шансы получить бонус за финиш первым по языку.
Но на второй правила игры немного поменялись, и бот стал играть неэффективно. Я стал обрабатывать эту ситуацию, усложнил код и в процессе переделки, как водится, насажал в нем ошибок. Поэтому следующие часа два ушли на отладку. Но даже когда удалось все отладить, оказалось, что бот все равно не может выйти в первую дубовую лигу. К тому же еще проблема была в том, что организаторы конкурса не учли, что из-за новых правил все ломанутся играть в первые четыре часа, и серверных мощностей будет просто не хватать. Расчеты боев велись с просто огромной задержкой, которая не давала толком ничего отлаживать…
Я попытался было изменить обработку одного из игровых моментов (выкладывание карт в начале игры: в первом варианте клалась первая доступна по мане карта, во втором стал искать оптимальный вариант по другим признакам и копить ману для него). Но в итоге стало еще хуже. Зато в процессе обнаружил, что бывают карты с нулевыми затратами маны, и их желательно играть сразу же. В результате откатил бота до прежней версии, добавил в него обработчик нулевых карт и отправил код за две минуты до окончания конкурса. Вскоре после этого посчитались первые результаты. Я увидел себя на 485 месте из 743, решил, что выступил ужасно, расстроился и переключился на другие дела.
Но каково же было мое удивление, когда сейчас, снова заглянув в CodinGame, обнаружил сначала сообщение о проходе в первую дубовую лигу, а потом и в бронзовую. И сейчас мой результат показывается то как 348, то как 374. Судя по всему, для кода, отправленного в самом конце соревнования, пересчеты идут до сих пор.
А мой расчет на PHP не оправдался: нашлось немало желающих писать на нем. Уж лучше бы Perl использовал: на нем всего 2 человека писало из всех семи сотен, а по трудоемкости примерно одинаково.