IPB
ЛогинПароль:

> Задача о двух роботах.
klem4
сообщение 1.02.2010 21:35
Сообщение #1


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Всем привет. Коллега рассказал одну задачу, которую ему задали на одном из собеседований, мне она очень понравилась. Возможно многие ее знают, тем не менее выкладываю условие:

Имеем одномерную планету. Над ней летит самолет, десантирует сначала первого робота, затем второго. Роботы ничего не знают ни друг о друге ни о самолете (в какую сторону летел, кого сбросил первым, на каком расстоянии, в общем ничего). Робот может двигаться вправо или влево (назад и вперед то есть), при этом он может оценить что находится в той точке, на которую он встал, а это может быть
1) просто земля
2) парашют (свой от чужого не отличает)
3) другой робот

Задача: написать алгоритм перемещения (который будет применен к обоим роботам одновременно после высадки последнего) робота, таким образом, чтобы они встретились со 100% вероятностью.

Я задачу решил, если понадобится выложу ответ. Задача легкая, но по мне очень забавная. Удачи.



Решения просьба оформлять в спойлер.

Сообщение отредактировано: klem4 - 1.02.2010 21:37


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Lapp
сообщение 1.02.2010 23:09
Сообщение #2


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Приятная задачка. как раз для программерских мозгов smile.gif.
У меня есть несколько вопросов.. Думаю, их нет смысла прятать.
Не совсем ясно, что умеет робот. Ясно, например что он должен уметь двигаться на определенное расстояние, иначе задача не очень осмыслена. Наверняка он может менять направление на противоположное. А вот может ли он, скажем, измерить пройденное расстояние, а затем произвести с ним математические действия (умножить/поделить на 2, например). Может он запомнить, что уже нашел один парашют и отличить другой найденный от первого? Может он запомнить, где был парашют и вернуться к нему? И еще один очень важный вопрос: могут два парашюта лежать в одной точке? Если да, то может ли робот распознать такую ситуацию? Может он хотя бы запомнить, что уже нашел один парашют? В зависимости от ответов на эти вопросы алгоритм может меняться..

Два возможных алгоритма (Показать/Скрыть)


Добавлено через 5 мин.
Решение, требующее минимум предположений (как мне кажется)) (Показать/Скрыть)


Добавлено через 6 мин.
Unconnected, так не пойдет )).

Опровергающий пример (Показать/Скрыть)


Добавлено через 8 мин.
Я очень извиняюсь, спутал ники sad.gif. Видел ник Rathar'а в теме, ну и автоматически распространил его на сообщение..
Исправлено. Извините, буду внимательнее )).


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
klem4   Задача о двух роботах.   1.02.2010 21:35
Unconnected   Интересно. А "одномерная планета" - гран...   1.02.2010 22:09
klem4   Бесконечная прямая. Именно так. Пожалуй не...   1.02.2010 22:20
Unconnected   Я придумал) Может, немного извращенно, но всё же: ...   1.02.2010 22:38
Lapp   Приятная задачка. как раз для программерских мозг...   1.02.2010 23:09
Unconnected   Я, наверное, недостаточно подробно описал решение...   1.02.2010 23:30
Lapp   Оставил инициализацию за циклом? Все, программа н...   1.02.2010 23:37
-Unconnected-   Не исправленная, а дополненная :rolleyes:   2.02.2010 10:00
Lapp   Не исправленная, а дополненная :rolleyes:Ага. Нап...   3.02.2010 4:22
SKVOZNJAK   Запутанное условие, только сейчас дошло что планет...   2.02.2010 17:00
SKVOZNJAK   ыыыы   2.02.2010 17:26
TarasBer   Робот ходит вокруг точки приземления туда-сюда, н...   2.02.2010 18:52
klem4   Решение 1. Каждому из них на пути следования встр...   3.02.2010 20:55
Lapp   мужик с гаечным ключом и они встретятся на местном...   3.02.2010 23:01
Unconnected   Lapp, так не пойдёт )) Робот делает шаг вперёд...   3.02.2010 23:45
Lapp   Lapp, так не пойдёт )) Робот делает шаг вперёд, п...   4.02.2010 0:05
klem4   а зацикливания на первом парашюте не будет ?   4.02.2010 20:03
Unconnected   Будет, читай на три поста выше:)   4.02.2010 22:01
SKVOZNJAK   klem4, со вторым твоим решеним не всё ясно. В зада...   6.02.2010 4:42
Unconnected   Кольца нет, есть   6.02.2010 12:33
SKVOZNJAK   А в кольце прямая разве имеет конец? К тому же бес...   6.02.2010 18:50
klem4   SKVOZNJAK, не придирайся))   6.02.2010 22:28


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 30.07.2025 4:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"