Роботы
ПрограммистамНа бесконечной в обе стороны белой полоске размеченной в клеточку находятся два робота. Ровно одна из клеток на полоске - чёрная, и она находится между роботами.
Вам необходимо одинаково запрограммировать обоих роботов так, чтоб они встретились.
Программа состоит из нескольких строк, каждая из которых содержит ровно одну команду. Допустимые команды:
1) ML - сделать шаг на клетку влево и перейти к следующей строке программы;
2) MR - сделать шаг на клетку вправо и перейти к следующей строке программы;
3) IF FLAG - проверить, находимся ли мы на чёрной клетке. Если да, перейти к следующей строке программы, иначе, перейти к послеследующей строке программы;
4) GOTO N - перейти к N-й строке программы;
На выполнение каждой из команд, кроме GOTO у робота уходит 1 секунда. GOTO выполняется мгновенно.
1) Расстояние между роботами и точное положение чёрной клетки вам не известны;
2) Роботы стартуют одновременно;
3) Встретиться, значит после выполнения очередной команды оказаться на одной клетке;
4) Роботы могут беспрепятственно проходить друг сквозь друга;
5) Текст программы конечен;
6) Можно считать, что в конец программы автоматически добавляется команда GOTO 1;
7) Естественно, программа должна быть валидной. Например, если в программе 10 строк, то нельзя использовать команду GOTO 20. Также не должно быть бесконечных "пустых" циклов. Например, такая программа не валидная:
1. MR
2. GOTO 3
3. GOTO 2
4. ...
61 комментарий