|
ориентация робота в прямоугольной комнате
| ☑ |
0
megabax
19.09.13
✎
18:53
|
Ы общем, имеется некий виртуальный робот, запертый в прямоугольной виртуальной комнате. Его задача найти и обезвредить бомбу. Для обезвреживания роботу необходимо подобрать к бомбе код. Подсказки для кода хранятся в маяках, беспорядочно разбросанных по комнате. Длина кода неизвестна. За один ход робот может двигаться на одну локацию. У робота есть датчики чувствительности бомбы, стенки и маяка. Датчики работают если робот в той же локации что и бомба или маячок. Датчик стенки показывает, может ли робот двигаться в этом направлении.
подскажите плз, наиболее оптимальный алгоритм решения данной задачи (выполнить миссию за меньшее число ходов). Или хотя бы в каком направлении посмотреть.
|
|
1
Asmody
19.09.13
✎
19:19
|
(0) ну и задачки вам на собеседованиях дают!
Если расположение маяков произвольное и робот без памяти, то только полным обходом, точнее двумя
|
|
2
Asmody
19.09.13
✎
19:24
|
|
|
3
megabax
19.09.13
✎
19:27
|
(1) Вообще то в условиях задачи не сказано что робот без памяти. Значит, по идее я имею право хранить маршрут в какой нибудь структуре данных
|
|
4
megabax
19.09.13
✎
19:27
|
(2) сэнкс
|
|
5
Asmody
19.09.13
✎
19:29
|
(3) ну да, координаты бомбы, если встретишь, можешь сохранить, чтоб не искать потом. Но если количество маяков не задано, а обойти надо все, то только полный обход
|
|
6
sda553
19.09.13
✎
22:53
|
По спирали от начальной локации, если не задан размер комнаты.
В случае обнаружения бомбы, возвращаться к ней по кратчайшей ломаной для проверки кода, после того как спираль достигнет стенок во всех напралениях.
Сложность алгоритма.
n*n+m*m
n m размеры
|
|