Я работаю над программой, которая должна решить "Вирусную игру". Короче говоря, мы получаем доску I x J, заполненную полями, окрашенными из n-элементного цветового пула. Начнем с того, что пометим поле [0,0] как «посещенное». Цель состоит в том, чтобы пометить все поля как посещенные за наименьшее количество шагов, каждый шаг: выбрать цвет из пула и раскрасить им каждое посещенное поле. Затем пометьте каждое поле в регионах, соседних с посещенными полями того же цвета, что и они, как посещенные.
У меня есть некоторые идеи о том, как подойти к этой проблеме, но я был бы признателен, если бы кто-нибудь мог указать мне на какой-нибудь хороший алгоритм, который я мог бы изменить, чтобы он работал в разумные сроки.
Вот ссылка на игру для справки, если мое объяснение непонятно http://www.gry.pl/gra/virus_3