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

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

  1. Партнёр

    Joined:
    7 Sep 2010
    Messages:
    224
    Likes Received:
    67
    Reputations:
    1
    хакеры сабж или дворники тоже могут быть?
     
  2. Renji

    Renji Member

    Joined:
    5 Dec 2010
    Messages:
    24
    Likes Received:
    5
    Reputations:
    0
    Это необязательное условие. На их месте могут быть хоть муравьи.
     
  3. Renji

    Renji Member

    Joined:
    5 Dec 2010
    Messages:
    24
    Likes Received:
    5
    Reputations:
    0
    Нет, в условии указано, что метка под хакером. Он может просто идти в противоположную сторону и никогда не встретить.
     
  4. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    396
    Likes Received:
    79
    Reputations:
    16
    тогда чем именно управлять?
     
  5. Партнёр

    Joined:
    7 Sep 2010
    Messages:
    224
    Likes Received:
    67
    Reputations:
    1
    ТС , ты не какое условие не забыл?
     
  6. Renji

    Renji Member

    Joined:
    5 Dec 2010
    Messages:
    24
    Likes Received:
    5
    Reputations:
    0
    Ну как чем именно. Вы можете написать алгоритм. Хакеры могут двигаться, смотреть по сторонам (увидеть: ничего, хакера, метку). Размещаются они в случайных точках, на случайном расстоянии друг от друга. Не имеют памяти. Вот изобразил схематично пример начальной позиции:

    [​IMG]
     
  7. mazaxaka

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

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    ну так плоскостей то сколько?? если как на рисунке. то оно могут в лево в право только двигатся. заставить двигатся на встречу и все. а если все 4 плоскости (вид с верху) тогда другое дело
     
  8. KATYA

    KATYA Active Member

    Joined:
    9 Feb 2009
    Messages:
    236
    Likes Received:
    121
    Reputations:
    9
    а можно чтоб один хакер сходил на одну клетку(две, три...) а второй на 5 или 6? :)

    То есть один двигается на клетку вправо, а второй на две клетки влево, а потом направления меняются и количество клеток увеличивается на 1(ну или любое число), пока не будет найдена точка х1 вторым или x2 первым?...... хотя пусть один хакер стоит, а второй то вправо, то влево ходит на любое расстояние? :(
     
    #28 KATYA, 21 Dec 2010
    Last edited: 21 Dec 2010
  9. Renji

    Renji Member

    Joined:
    5 Dec 2010
    Messages:
    24
    Likes Received:
    5
    Reputations:
    0
    Это указано в задании. Плоскость - одномерная (прямая). Значит они могут двигатся только влево и вправо.
    Заставить двигатся навстречу? Ок. Как? Они не знают расположение относительно друг друга. Перечитай условие. там всё указано.
     
  10. Renji

    Renji Member

    Joined:
    5 Dec 2010
    Messages:
    24
    Likes Received:
    5
    Reputations:
    0
    Тут только мешает то, что они не имеют памяти, а именно не могут запоминать свои прошлые движения.
     
  11. Renji

    Renji Member

    Joined:
    5 Dec 2010
    Messages:
    24
    Likes Received:
    5
    Reputations:
    0
    Или повернуть на 90 градусов, они сами и упадут друг-на-друга, да? :D
    Нет, нельзя.
     
  12. PvgValo

    PvgValo Active Member

    Joined:
    1 Aug 2009
    Messages:
    548
    Likes Received:
    160
    Reputations:
    57
    Если оба пойдут в одну и туже сторону, то один из хакеров достигнет метки второго. Тот кто достиг метки, увеличивает скорость перемещения. Так можно?
     
  13. ruzzer

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

    Joined:
    29 Jul 2007
    Messages:
    43
    Likes Received:
    10
    Reputations:
    3
    хм.. А можно так, если один из них будет двигаться на одну клетку вправо, затем ничего не увидев - на две влево, если ничего не увидев - на три вправо, и так в прогрессии? действия второго - те же самые
     
  14. Renji

    Renji Member

    Joined:
    5 Dec 2010
    Messages:
    24
    Likes Received:
    5
    Reputations:
    0
    Верно! Оба начинают движение со скоростью v/2, как только один видет метку, скорость увеличивается до v. В итогк они встречаются, профит! (по условию v/2 может равнятся перемещению-ничего_не_делать-перемещение, ток что скорость - формально).
    Насчёт награды я потружусь. =)
     
  15. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    396
    Likes Received:
    79
    Reputations:
    16
    Они не помнят ничего.
     
  16. XAOCX

    XAOCX Banned

    Joined:
    19 Dec 2008
    Messages:
    3
    Likes Received:
    4
    Reputations:
    0
    Памяти нет...
     
  17. KATYA

    KATYA Active Member

    Joined:
    9 Feb 2009
    Messages:
    236
    Likes Received:
    121
    Reputations:
    9
    А как направление то узнать? А если в разные стороны пойдут?
     
  18. ruzzer

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

    Joined:
    29 Jul 2007
    Messages:
    43
    Likes Received:
    10
    Reputations:
    3
    Они в одну пойдут. один из них по-любому достигнет метки, и будет понятно, где он относительно нее находится.

    ТС, спасибо, классная задачка, кстати
     
  19. PvgValo

    PvgValo Active Member

    Joined:
    1 Aug 2009
    Messages:
    548
    Likes Received:
    160
    Reputations:
    57
    Да брось ты. Это тебе спасибо за интересную загадку. А особенно приятно что я не программер, а только, можно сказать, учусь :)
     
  20. Renji

    Renji Member

    Joined:
    5 Dec 2010
    Messages:
    24
    Likes Received:
    5
    Reputations:
    0
    Направление не важно, главное, что оно изначально будет равноправно. Либо влево, либо вправо. Равноправное значение можно указать в начальном цикле.