Моя олимпиадная задача

Прочитал пост http://pikabu.ru/story/veselaya_zadachka_4534715 и вспомнил задачу, которую решал на  олимпиаде по информатике году эдак в 1991 - единственную, которая мне запомнилась из всех задач на всех олимпиадах, в которых я участвовал, из-за необычной подачи условия ))


Итак, если кому интересно.


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


Программа записывается пронумерованными строками, как в бейсике, и может состоять из следующих команд:


1. Проверка условия "нашёл парашют" (если нашёл парашют, то...).

2. Шаг влево.

3. Шаг вправо.

4. Переход на строку программы №.


Собственно, нужно составить программу для роботов )

Моя олимпиадная задача Задача, Олимпиада, Роботы убийцы
Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

Идти налево 100 метров.

Если не встретил друга, развернуться и идти 200 метров.

Если не встретил друга, развернуться и идти 400 метров.

Ну и так далее, пока не найдут друг друга.

...

Провести процедуру активации боеголовки.



Лень записывать с переменными, но смысл ясен)

раскрыть ветку (3)
Автор поста оценил этот комментарий

Переменных нет.

Программа одинаковая у обоих.

Низачод )

раскрыть ветку (2)
Автор поста оценил этот комментарий

Оставить заряд в парашюте.

Идти до бесконечности вправо пока не найдешь чужой парашют.

Взять оттуда заряд.

Идти до бесконечности влево пока не найдешь свой парашют

Взять вторую половину заряда.

Взорваться.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Оставить заряд, взять заряд - нет таких команд.

Опять низачод.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку