воскресенье, 10 августа 2008 г.

задача #2

еще задача, по-моему давали в интел на собеседовании

Есть дискретная бесконечная прямая.
На нее на парашютах высаживают 2-х роботов.
После высадки робот сбрасывает парашют (в месте посадки) и готов к действиям.
У робота есть 4 команды.
1. шаг влево (L)
2. шаг вправо (R)
3. безусловный переход на номер сторчки в програме (G#, например, G3 - переход на третью строку программы)
4. определение что он стоит на каком то парашюте, и, если да то, безусловный переход
(T#, например, Т2 значит - перейти на вторую строку программы, если стоит на парашюте)

Каждая команда выполняется за 1 сек.
Нужно написать программу, одинаковую для обоих роботов, которая позволит им когда либо встретиться.

Ещё раз напоминаю:
1) прямая - бесконечная
2) роботы выбрасываются в произвольные места прямой
3) программа одинаковая для обоих роботов

2 комментария:

Анонимный комментирует...

1. L
2. T6
3. L
4. R
5. G1
6. L
7. L
8. G6

Первое, что в голову пришло, но вроде правильно. Может быть есть что-то более оптимальное.

Alexey Romanenko комментирует...

Итак, одно верное решение есть.
Но оно не оптимальное. Думаем дальше?)

ЗЫ: Павел, оптимизируйте Ваше решение.