Ещё одна ж.-д. задача.
От: Pushkin Россия www.linkbit.com
Дата: 31.03.03 10:54
Оценка: 24 (3)
Нарыл совершенно замечательную задачу.
UgN и другим железнодорожникам должно понравиться

Кстати, не могу удержаться чтобы вставить любимую ссылку,
из которой видно, что такого рода задачи решал ещё
Первый В Мире Компетентный Программист


-----P------------A-------
          /                \
         |                  |
         |                  T
         |                  |
          \                / 
            ------B-------   


Есть ж-д узел, он состоит из тупика, поворотного круга и одной стрелки. 
Это самый обычный узел с самыми логичными правилами.

В тупике стоит маневровый паровоз P.
Он может тянуть и толкать один или несколько вагонов 
хоть передом хоть задом, хоть одновременно.

На поворотном кругу стоят два вагона - A и B. 
Они могут сцепляться как с паровозом, так и друг с другом.

Пробегом называется движение паровоза между двумя остановками.

Остановки случаются при смене направления движения 
или при осуществлении любой операции сцепки-расцепки. 
(Толкание вперёд тоже происходит сцеплённо)

Есть одна стрелка, которую можно перекидывать неограничено. 
На остром углу заворачивать нельзя - можно проехать вперёд,
перекинуть стрелку и проехать в другую ветку.

Особенность: 
На поворотном кругу есть тоннель T - через него 
может проехать паровоз но не могут проехать вагоны. 

Вопрос:
За какое минимальное число пробегов паровоз сможет 
обменять местами вагоны A и B и вернуться в исходную позицию?
Re: Ещё одна ж.-д. задача.
От: UgN  
Дата: 31.03.03 12:44
Оценка:
Здравствуйте, Pushkin, Вы писали:

6?
Re[2]: Ещё одна ж.-д. задача.
От: Pushkin Россия www.linkbit.com
Дата: 31.03.03 12:46
Оценка:
Здравствуйте, UgN, Вы писали:

UgN>6?


Существенно больше.
Либо ты гений, либо недопонял условия
Re[3]: Ещё одна ж.-д. задача.
От: UgN  
Дата: 31.03.03 12:58
Оценка:
Здравствуйте, Pushkin, Вы писали:


UgN>>6?


P>Существенно больше.

P>Либо ты гений, либо недопонял условия

Почти угадал: я — Евгений

Скорее всего я условия не понял...
"Дяденька, я не настоящий железнодорожник..."

Ход решения:

1. Паровоз едет вперед и цепляет A
2. Едет назад по кругу и цепляет B
3. Катит до стрелки, которая переключается "налево", и уезжает в тупик.
4. Едет обратно, толкая перед собой B, отцепляет на месте A
5. Катит по кругу (стрелку переключили) и отцепляет A на месте B
6. Укатывает в тупик.

Только зачем тут нужен тоннель?
Re[4]: Ещё одна ж.-д. задача.
От: Pushkin Россия www.linkbit.com
Дата: 31.03.03 13:09
Оценка:
Здравствуйте, UgN, Вы писали:

UgN>"Дяденька, я не настоящий железнодорожник..."

UgN>3. Катит до стрелки, которая переключается "налево", и уезжает в тупик.

Вот и видно, что не настоящий
Где ты видал такие стрелки, которые как знак мерседеса по 120 градусов были бы и перекидывались в любую сторону? В любом случае, даже если они есть я в условии как мог оговорил.

Есть одна стрелка, которую можно перекидывать неограничено.
На остром углу заворачивать нельзя — можно проехать вперёд,
перекинуть стрелку и проехать в другую ветку.


Т.е. нельзя на стрелке повернуть снизу и сразу налево в тупик — можно прямо проехать, потом превести стрелку, и задом, толкая перед собой вагон B (а не А!) въехать в тупик.
Re: Ещё одна ж.-д. задача.
От: mogadanez Чехия  
Дата: 31.03.03 13:14
Оценка:
Здравствуйте, Pushkin, Вы писали:


задний ход у паравоза есть?
... << RSDN@Home 1.0 beta 6a >>
Re[5]: Ещё одна ж.-д. задача.
От: UgN  
Дата: 31.03.03 13:17
Оценка:
Здравствуйте, Pushkin, Вы писали:

P>Вот и видно, что не настоящий

P>Где ты видал такие стрелки, которые как знак мерседеса по 120 градусов были бы и перекидывались в любую сторону? В любом случае, даже если они есть я в условии как мог оговорил.

Надо запатентовать!


P>Т.е. нельзя на стрелке повернуть снизу и сразу налево в тупик — можно прямо проехать, потом превести стрелку, и задом, толкая перед собой вагон B (а не А!) въехать в тупик.


Вах! Я думал она такая:

------------
    \  
     *
     |
     |


------------
      /  
     *
     |
     |
Re[2]: Ещё одна ж.-д. задача.
От: Pushkin Россия www.linkbit.com
Дата: 31.03.03 13:22
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>задний ход у паравоза есть?


Конечно! Он даже вообще "ненаправленный"
Ещё раз: совсем близко к реальности всё — никаких особых грехов с точки зрения настоящих железнодорожников.
Re: Ещё одна ж.-д. задача.
От: _vovin http://www.pragmatic-architect.com
Дата: 31.03.03 13:28
Оценка:
Здравствуйте, Pushkin, Вы писали:

P>Вопрос:

P>За какое минимальное число пробегов паровоз сможет
P>обменять местами вагоны A и B и вернуться в исходную позицию?
P>[/ccode]

10

--

Владимир.
Re[6]: Ещё одна ж.-д. задача.
От: Pushkin Россия www.linkbit.com
Дата: 31.03.03 13:30
Оценка:
Здравствуйте, UgN, Вы писали:


UgN>Вах! Я думал она такая:


Нет, она вот такая:

----   * ---      
      /
     |
     |



---- - * ---      
      
     |
     |
Re[2]: Ещё одна ж.-д. задача.
От: Pushkin Россия www.linkbit.com
Дата: 31.03.03 13:32
Оценка:
Здравствуйте, _vovin, Вы писали:

V>10


Не-а, кто больше?
Re[3]: Ещё одна ж.-д. задача.
От: mogadanez Чехия  
Дата: 31.03.03 13:37
Оценка: 11 (1)
Здравствуйте, Pushkin, Вы писали:

P>Здравствуйте, mogadanez, Вы писали:


M>>задний ход у паравоза есть?


P>Конечно! Он даже вообще "ненаправленный"

P>Ещё раз: совсем близко к реальности всё — никаких особых грехов с точки зрения настоящих железнодорожников.

тогда:

1. едем вперед, цепляем A
2. перекинув стрелку едем и цеалеям другим концом B
3. возвращаемся туда где был A
4. перекинув стрелку едем в тупик. отцепляем B
5. едем с А прямо
6. перекидываем стрелку везем A вниз
7. отцепляем его.
8. проезжаем тунель едем к B
9. цепляем В и везем его на точку где изначально был А
10. проезжаем тунель
11 цеплям A и Выталкиваем его к B
12. едем по кругу, подъезжая с другой стороны
13. сцепляем все вместе и толкаем в тупик
14 . отцепляем A , В везем на местоположение
15. проезжаем по кругу выезжая к B
16. перекинув стрелку едем к А
17 цепляем везем на перегон к В
18 перекидываем стрелку едем вниз
19 отцепляем А
20. едем к В
21 перекинув стрелку едем в тупик.

ОЧКО!
... << RSDN@Home 1.0 beta 6a >>
Re[4]: Ещё одна ж.-д. задача.
От: Pushkin Россия www.linkbit.com
Дата: 31.03.03 13:43
Оценка:
Здравствуйте, mogadanez, Вы писали:


M>1. едем вперед, цепляем A

M>2. перекинув стрелку едем и цеалеям другим концом B
M>3. возвращаемся туда где был A
M>4. перекинув стрелку едем в тупик. отцепляем B
M>5. едем с А прямо
M>6. перекидываем стрелку везем A вниз
M>7. отцепляем его.
M>8. проезжаем тунель едем к B
M>9. цепляем В и везем его на точку где изначально был А
M>10. проезжаем тунель
M>11 цеплям A и Выталкиваем его к B
M>12. едем по кругу, подъезжая с другой стороны
M>13. сцепляем все вместе и толкаем в тупик
M>14 . отцепляем A , В везем на местоположение
M>15. проезжаем по кругу выезжая к B
M>16. перекинув стрелку едем к А
M>17 цепляем везем на перегон к В
M>18 перекидываем стрелку едем вниз
M>19 отцепляем А
M>20. едем к В
M>21 перекинув стрелку едем в тупик.

M>ОЧКО!




Пункт 19 учтён зря — это не пробег.
Поэтому у тебя не очко, а 20. Но ...
даже это перебор, правильный ответ меньше
Re[5]: Ещё одна ж.-д. задача.
От: mogadanez Чехия  
Дата: 31.03.03 13:48
Оценка:
Здравствуйте, Pushkin, Вы писали:



P>Пункт 19 учтён зря — это не пробег.

P>Поэтому у тебя не очко, а 20. Но ...
P>даже это перебор, правильный ответ меньше

Maybe...
but a lot of work
... << RSDN@Home 1.0 beta 6a >>
Re: Ещё одна ж.-д. задача.
От: Дмитро  
Дата: 31.03.03 13:59
Оценка:
Здравствуйте, Pushkin, Вы писали:

P>Нарыл совершенно замечательную задачу.

P>UgN и другим железнодорожникам должно понравиться

P выезжает за стрелку к A, но не цепляет его.
1 остановка
переключается стрелка и P едет к B и цепляет его.
2 остановка
P тянет B к A через стрелку, но не цепляет A.
3 остановка
P отправляет B в тупик и отцепляет его.
4 остановка
P возвращяется за A и, наконец, цепляет и его.
5 остановка
переключается стрелка и P тянет A к тому месту, где раньше был B; отцепляет A.
6 остановка
P, через тунель и стрелку, подъезжает к B и цепляет его.
7 остановка
вытягивает B из тупика за стрелку
8 остановка
переключается стрелка и P толкает В к A; цепляет A к B.
9 остановка
через стрелку возвращается для того, чтобы отправить A тупик.
10 остановка
отправляет A в тупик
11 остановка
из тупика вытягивает себя вместе с B
12 остановка
через стрелку отправляет B на то место, где он и был в самом начале
13 остановка
объезжает B через стрелку и тунель и цепляет его с другой стороны.
14 остановка
толкает B через стрелку
15 остановка
едет в тупик за A
16 остановка
вытягивает A из тупика
17 остановка
оставляет B на том месте, где раньше был A и больше его не трогает; толкает A через стрелку на то место, где раньше был B.
18 остановка
оставляет A и выезжает за стрелку к B
19 остановка
отправляется в тупик
20 остановка -- конечная.

--
Дмитрий
--
Дмитрий
Re[2]: Ещё одна ж.-д. задача.
От: Pushkin Россия www.linkbit.com
Дата: 31.03.03 14:06
Оценка:
Здравствуйте, Дмитро, Вы писали:



Плохие новости
1) Mogadanez выстрелил чуть раньше.
2) Это не оптимальное решение.

Хорошие новости
1) У магаданца a lot of work Есть шанс выиграть кубок
2) По секрету скажу ответ — 18.
Re[2]: Ещё одна ж.-д. задача.
От: Дмитро  
Дата: 31.03.03 14:27
Оценка: 32 (2)
Д>Здравствуйте, Pushkin, Вы писали:

P>>Нарыл совершенно замечательную задачу.

P>>UgN и другим железнодорожникам должно понравиться

Д>P выезжает за стрелку к A, но не цепляет его.

Д>1 остановка
Д>переключается стрелка и P едет к B и цепляет его.
Д>2 остановка
Д>P тянет B к A через стрелку, но не цепляет A.
Д>3 остановка
Д>P отправляет B в тупик и отцепляет его.
Д>4 остановка
Д>P возвращяется за A и, наконец, цепляет и его.
Д>5 остановка
Д>переключается стрелка и P тянет A к тому месту, где раньше был B; отцепляет A.
Д>6 остановка
Д>P, через тунель и стрелку, подъезжает к B и цепляет его.
Д>7 остановка
Д>вытягивает B из тупика за стрелку
Д>8 остановка
Д>переключается стрелка и P толкает В к A; цепляет A к B.
Д>9 остановка
Д>через стрелку возвращается для того, чтобы отправить A тупик.
Д>10 остановка
Д>отправляет A в тупик
Д>11 остановка
Д>из тупика вытягивает себя вместе с B
Д>12 остановка
объезжает B с другой стороны
13
едет в тупик за A
14
вытягивает A из тупика
15
отправляет A через стрелку на свое место
16
возвращается к B
17
едет в тупик
18

--
Дмитрий
--
Дмитрий
Re: Как это проще понять.
От: Pushkin Россия www.linkbit.com
Дата: 01.04.03 07:56
Оценка:
Здравствуйте, Pushkin, Вы писали:

P>
P>-----P------------A-------
P>          /                \
P>         |                  |
P>         |                  T
P>         |                  |
P>          \                / 
P>            ------B-------   
P>


Правильное решение уже появилось. Я приведу ещё одно — оно подчёркнуто неоптимально, но идея, как вообще это сделать, не прячется за длинным списком.

В том месте, где в начале стоит вагон A, должно последовательно побывать:
    A
3: BPA
5: BAP
8: ABP
5: APB 
3:  B
---------------
24 хода
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.