Нет необходимости пропускать эти предопределенные узлы: просто считайте их посещенными , и вы все равно можете работать с графиком как с прямоугольной сеткой.Я бы рекомендовал представление набора битов или векторов битов для сетки, если важна эффективность.
Когда сетка такая мала, 4x3, метод перебора - самый быстрый.Динамическое программирование делает его на самом деле медленнее, если у вас нет большего графика (6x7 +).Вы также можете использовать эвристику, чтобы обрезать дерево поиска, но опять-таки график должен быть больше, прежде чем он поможет.