Я прошу еще подсказку.
Подсказка 3 а) Рассмотрим наш путь как последовательность отрезков с началом в не-красном и с концом в красном. б) Шаг нашего решения ("подпрограмма") должен, пройдя этот отрезок, оставить нас в начале следующего отрезка. в) Таким образом наш путь будет состоять из нескольких таких шагов, выполненных один за другим (последний из которых незавершён). г) Также нам необходимо реализовать два вида таковых шагов (синий и зелёный) не мешающих друг другу. д) Из соображений симметрии задачи мы предполагаем и симметрию решения.