Задачка о двух хакерах.

Discussion in 'Болталка' started by Renji, 21 Dec 2010.

  1. Renji

    Renji Member

    Joined:
    5 Dec 2010
    Messages:
    24
    Likes Received:
    5
    Reputations:
    0
    Итак, задача. Несколько чатов (программерских) потратили по 40 минут на решение. Посмотрим получится ли у вас. =)
    В одномерной плоскости (прямая) в случайных позициях стоят двое хакеров. Под каждым есть метка приземления (обозначим как X1 и X2).
    У хакеров не всё впорядке с головой, так что они могут только двигаться, разворачиваться, изучать окружающее пространство (варианты: ничего, метка, другой хакер).
    Дальность зрения - 1 клетка.
    Задача: написать алгоритм, который позволит хакерам встретиться.
    Все бы было просто, но у хакеров нет памяти. Вообще. Т.е. какие-то переменные и предыдущие состояния они хранить не умеют.
    Хакеры не могут передать друг-другу информацию о своём положении.

    UDP:
    Схема начального расположения

    [​IMG]

    UDP:
    Правильный ответ дал PvgValo (4-я страница темы):
     
    #1 Renji, 21 Dec 2010
    Last edited: 22 Dec 2010
  2. CodeSender:)

    CodeSender:) Elder - Старейшина

    Joined:
    29 Jul 2010
    Messages:
    245
    Likes Received:
    115
    Reputations:
    23
    развернутся в сторону хакера
    пройти к его метке.

    а теперь ставь плюсик в репу.
     
  3. Renji

    Renji Member

    Joined:
    5 Dec 2010
    Messages:
    24
    Likes Received:
    5
    Reputations:
    0
    А как узнать где другой хакер? Дальность зрение ограничена одной клеткой.
     
  4. CodeSender:)

    CodeSender:) Elder - Старейшина

    Joined:
    29 Jul 2010
    Messages:
    245
    Likes Received:
    115
    Reputations:
    23
    взять и узнать :eek:
     
  5. PabloPicasso

    PabloPicasso Banned

    Joined:
    2 Jan 2010
    Messages:
    88
    Likes Received:
    32
    Reputations:
    16
    повтор
    если Х2 < X1 то 1хакер.позиция -1 и 2хакер.позиция +1
    если Х2 > X1 то 1хакер.позиция +1 и 2хакер.позиция -1
    до того как впереди хакер
     
    #5 PabloPicasso, 21 Dec 2010
    Last edited: 21 Dec 2010
  6. Renji

    Renji Member

    Joined:
    5 Dec 2010
    Messages:
    24
    Likes Received:
    5
    Reputations:
    0
    Нет. Позиции рандомные.
     
  7. CodeSender:)

    CodeSender:) Elder - Старейшина

    Joined:
    29 Jul 2010
    Messages:
    245
    Likes Received:
    115
    Reputations:
    23
    Наркоман?Он запоминать не может переменные=\
     
  8. zlo12

    zlo12 Elder - Старейшина

    Joined:
    28 Dec 2007
    Messages:
    535
    Likes Received:
    135
    Reputations:
    34
    они должны идти по запаху
     
  9. Renji

    Renji Member

    Joined:
    5 Dec 2010
    Messages:
    24
    Likes Received:
    5
    Reputations:
    0
    У них нет носов. И ртов тоже нет. У них есть только примитивные глаза, которые видят на одну клетку, и есть ноги, которые еле-еле ходят. А еще у них нет памяти. Дегенераты в общем.
     
  10. KATYA

    KATYA Active Member

    Joined:
    9 Feb 2009
    Messages:
    236
    Likes Received:
    121
    Reputations:
    9
    надо чтобы один хацкер подошёл к краю. а второй хацкер по кругу ходил по краю
     
  11. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    1 хакер всегда стоит на месте.
    2 всегда идет в одном направлении. Если 2 не дошел до 1 - запускаем заново, только в другом направлении. Или через n ходов если не встретил, то разворачиваем и идем n+n
     
    #11 LStr1ke, 21 Dec 2010
    Last edited: 21 Dec 2010
  12. Renji

    Renji Member

    Joined:
    5 Dec 2010
    Messages:
    24
    Likes Received:
    5
    Reputations:
    0
    Нет, плоскость бесконечная.
     
  13. EndLeSSDre@M

    EndLeSSDre@M Banned

    Joined:
    18 Jul 2009
    Messages:
    142
    Likes Received:
    99
    Reputations:
    -5

    он не может запоминать... так что сколько шагов он сделал не известно будет в последствии
     
  14. Renji

    Renji Member

    Joined:
    5 Dec 2010
    Messages:
    24
    Likes Received:
    5
    Reputations:
    0
    1. Это ник чему не приведёт.
    2. Перезапуск не допущен. Они рандомно размещаются, так что это дело случая. Алгоритм должен их встречать, не исходя из случая.
     
  15. zlo12

    zlo12 Elder - Старейшина

    Joined:
    28 Dec 2007
    Messages:
    535
    Likes Received:
    135
    Reputations:
    34
    а говоришь что с головой всё в порядке =(
     
  16. Renji

    Renji Member

    Joined:
    5 Dec 2010
    Messages:
    24
    Likes Received:
    5
    Reputations:
    0
    Ага. =)
     
  17. nupaT

    nupaT Active Member

    Joined:
    25 Oct 2008
    Messages:
    0
    Likes Received:
    101
    Reputations:
    20
    каждый проходит по 20 клеток, а потом разворачивается есть вероятность что они когда- то встретятся
     
  18. mazaxaka

    mazaxaka Elder - Старейшина

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    ходить до бесконечности. когдато встретсятса)) условие время нету
     
  19. Renji

    Renji Member

    Joined:
    5 Dec 2010
    Messages:
    24
    Likes Received:
    5
    Reputations:
    0
    Опять же решение зависит от случая. Но существует решение, которое от этого не зависит. =)
    Все забыли про метки, которые остались. ;)
     
  20. AnGeI

    AnGeI Elder - Старейшина

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    если взять за объект хакер №1, с меткой X1, когда-то он достигнет либо метки X2, либо другого хакера. они всё равно встретятся, если настоящий рандом.
     
    #20 AnGeI, 21 Dec 2010
    Last edited: 21 Dec 2010
Loading...