Здравствуйте, golyakov, Вы писали:
G>Написал сам через рекурсивную функцию, рассматривающую объекты вокруг себя, но это слишком медленно.
G>Подскажите чего-нибудь.
У рекурсивного алгоритма есть такая особенность: он просматривает одну и ту же клетку несколько раз. Выход из положения: запоминать во вспомогательном массиве уже просмотренные клетки, например, заведем еще таблицу такого же размера, и будем в ее клетках хранить номер группы, к которой относится соответствующая клетка первой таблицы. Изначально заполним всю таблицу -1. А в рекурсивной процедуре смотреть, уже были в клетке (!=-1), или еще не были(==-1).