You are not logged in.
Pages: 1
Есть объект, например, жук. Лабиринт - матрица XxY ячеек. Жук стартует в точке (0;0), заканчивает движение в правой нижней точке. Алгоритм движения:
жук всегда начинает свое движение с левого верхнего угла, а выход всегда находится в правом нижнем. Жук движется не оптимально, а следующим образом: он идет туда, где еще не был, либо был там реже. Т.е. проходя каждую клетку лабиринта, жук запоминает: сколько раз он был в этой клетке и при обдумывании направления своего движения в какой то конкретный момент он смотрит: сколько раз он был в клетке снизу, сколько справа, сколько слева и сколько сверху и движется туда, где он был меньше раз. Если таких направлений несколько и одно из них совпадает с текущим направлением движения, то он не меняет направления, иначе он движется согласно следующим приоритетам: вниз, направо, вверх, налево. Т.е. если минимальное число посещений сразу справа и слева (а двигался он при этом вверх или вниз), то жук идет направо, т.к. у "направо" приоритет выше. Следует заметить, что двигаясь по данному алгоритму жук всегда достигнет выхода в том случае, когда выход существует.
Каким должен быть лабиринт (за исключением закрытого), в котором жук проведёт больше всего времени?
Offline
Offline
Забыл сказать, каждая ячейка матрицы может быть занятой (стенка, туда нельзя идти) или свободной.
Offline
Круг и квадрат
...или...
круг, в котором высверлен квадрат )
Offline
Не знаю. Закончили оффтоп.
Как проверить, не отделён ли жук от выхода?
Offline
Есть тут кто?
Offline
Pages: 1