Главное — чтоб самому нравилось

среда, 27 октября 2010 г.

Головоломка про шпионов

Ещё одна головоломка, мне показалась, что она довольно программерская и простая. Правда решение которое я нашёл не совпадает с официальным :-). Это наводит на мысли, что решений может быть много, что тоже интересно. Может быть вы найдёте ещё какие-нибудь.

Итак, по пустыне проходит абсолютно прямая заброшенная дорога, с запада на восток. В условиях жестокой секретности, на большом и неизвестном расстоянии друг от друга, примерно в одно и тоже время на дорогу с двух самолётов десантируют двух шпионов. В момент десантирования они не видят друг друга, и не могут определить взаимное положение. В снаряжении обоих имеется компас.

Из центра обоим шпионам была передана ровно одна и та же инструкция, в которой указан алгоритм позволяющий им встретится. Предложите вариант такой инструкции.

Чтоб легче думалось, я даже картинку накарябал:


Пишите в коменты, будет лучше, если белыми буквами :-) (upd: к сожалению, движок блога не позволяет писать разноцветно, поэтому будьте аккуратнее в коментах правильные ответы, не заглядывайте туда пока не придумаете свой вариант :-). Ответы (свой и официальный), чтоб было меньше соблазна, напишу через пару дней под, так сказать, кат.

2 комментария:

  1. 1. Определить направление на Запад
    2. Положить компас на землю
    3. Идти шагом на Запад
    4. Если нашёл компас - перейти на бег
    :)

    ОтветитьУдалить
  2. В задаче не указанно, могут ли они сворачивать с дороги, посему несколько решений могу предложить:

    Если не могут сворачивать с дороги
    1. оставить компас на месте
    2. L = 1 шаг
    3. Повернуться или на запад или на восток (всё равно)
    4. двигаться на L в ту сторону
    5. если встретился компас второго чувачега, то остаться ждать в этом месте
    6. L = 2 * L
    7. Поменять направление движения и перейти к шагу №4

    Если могут:
    1. идти всё время на север (всё равно встретятся на сев. полюсе)
    2. идти всё времян а юг, всё равно встретятся на южном полюсе )

    ОтветитьУдалить