In a Nutshell.

[Kotlin, FOSS, Developer's Life.]

Задача про Паровозики

Задачу эту я услышал сегодня на Ciklum Java Saturday (мини-конференция).

Итак

locomotive

У нас имеется бесконечная координатная прямая. На ней два паровоза и между ними на неизвестном расстоянии находится станция.

Каждый паровоз имеет свой процессор и исполняет команды:

  • L – передвинуться в левую ячейку
  • R – передвинуться в правую ячейку
  • if (station) {L/R/goto(n)} – если поезд находится на станции то выполнить единственную команду команду
  • goto(n) – перейти на выполнение n-ой строки исходного кода

Задача: столкнуть два паровоза используя данные команды. При этом программа одна и та же для каждого паровоза т.е. вы пишете одну программу, которая исполняется параллельно на обоих паровозах с одинаковой частотой.

Пример программы:

</p> <pre>1. L 2. R 3. if (station) {goto(4)} 4. goto(1)</pre> <p>

Которая ничего не делает 🙂

===========================

Решение:


1. L
2. if (station) {goto(4)}
3. goto (1)
4. L
5. goto (4)

===========================

upd. Аккуратно, в комментариях тоже есть решение 🙂

comments powered by Disqus