Робот движется по клетчатому полю в соответствии с заданной программой. для записи программы используется следующая система команд:
u# - # раз сместиться на одну клетку вверх.
d# - # раз сместиться на одну клетку вниз.
r# - # раз сместиться на одну клетку вправо.
l# - # раз сместиться на одну клетку влево.
#{} – повторить # раз последовательность команд в скобках.
известно, что робот выполнил следующую программу:
10{u3 r3 u3 r3 d3 l3 d3 l6}
сколько клеток поля робот посетил ровно два раза? в ответе укажите целое число.
10
Объяснение:
Смотри вложение. Клетки: [B], [S] робот пройдёт более 2-х раз -> эти клетки не подойдут под условие. Почему? Потому что каждый цикл робот смещается на 3 клетки влево – через [B], в каждом цикле, робот уже проходит 2 раза, а в следующем цикле он делает это ещё раз, тем самым проваливая условие для данной клетки; [S] – аналогично, поскольку робот, в каждом цикле, пересечёт данную клетку, выходя из клетки [F] в клетку [G].
Для простоты, приведу список клеток из 2 цикла:
[G] станет [S];
[A] станет [B];
[C] станет [D];
[B] станет [E];
[S] станет [F].
Во втором цикле [G] левее на 3 клетки, а её позицию из 1 цикла, теперь, занимает клетка [S].
Нетрудно понять, что ровно 2 раза робот пройдёт только по клетке [C] – [C] станет [D] и больше не будет пройдена роботом.
Остальные клетки робот пройдёт более или менее 2 раз.