Уменьшать время работы и память с очень высокой вероятностью не будут. Пол секунды и так достаточно мало. Дело в том, что на это закладываются очень многие. А переписывать алгоритм после его настройки — крайне неблагодарное дело.
вот как раз про battle resolution было бы круто поговорить, когда я последний раз смотрел было только «Это самая веселая часть игры!», теперь добавили спецификацию. Вроде буквы понятные, но не понятно «within the attack radius of» — имеется в виду меньше или меньше-равно attackradius. и что значит «ant dies», влияет ли это на текущий обсчет боя, или же при расчете enemies(a) для остальных участников схватки муравей все еще «жив» до окончания этого обсчета (потому как в примерах выше, вроде как порядок вычисления важен)? Но правда и без понимания этого пока удалось попасть в двадцатку =)
кстати в C++ started package очень медленно сделано updateVisibility, на карте 150x150 при 1000 муравьев этот код одъедает бОльшую часть лимита (до 300мс), пришлось переписывать :)
Я добавил перевод подсчета исхода битвы. «within the attack radius of» означает «меньше-равно attackradius». Обсчет боя происходит только в конце битвы. До этого все муравьи живы и воюют.
Правила Google AI Challenge Осень 2011