Когда решатель попадает прямо в этот тупик, он записывает, что он "посетил прямо из (R, C)", потому что ваш посещенный массив является трехмерным.Но он никогда не записывает, что он "посетил слева от (R, C + 1)".Таким образом, он считает, что нормально перемещаться в одну и ту же позицию дважды , если только он не делает одно и то же движение дважды (чего не происходит, так как он движется влево, когда возвращается, а не вправо).
Похоже, что он будет работать нормально, как если бы вы изменили посещаемость на 2-мерный массив и записывали только позиции , а не движения.Затем каждый квадрат, который вы посетили прежде, блокирует дальнейшее движение, но это нормально, потому что, если правильное решение требует возврата к этому квадрату, вы в конечном итоге попадете в другой случай, достаточный, чтобы вернуться к нему, и оттуда три должны быть никогда.посетил площадь, чтобы исследовать.