Task 53. Робот

Task 53. Робот

UniLecs

Задача: Бесконечная строка ширины 1 разбита на клетки размера 1х1. В одной клетке находится робот который может двигаться из одной клетки в другую. Его перемещения определяются программой, каждая команда в которой – это одна из трех больших латинских букв: L, R, S. Выполняя команду L, робот перемещается на одну клетку влево, команду R – на одну клетку вправо, а S – остается в той же самой клетке.

Напишите программу, которая определит сколько различных клеток посетит робот.

Входные данные:

Программа для робота – строка из символов L, R, S. Программа состоит не более чем из 10000 команд.

Вывести количество различных клеток, которые посетит робот, выполняя свою программу.

Пример входа:

RRSRRLRR 

Пример выхода:

6

Идея:

Решение довольно простое, нам достаточно запоминать номер крайней правой right и крайней левой left клетки куда робот смог добраться. Тогда мы получим кол-во различных клетов, ктр смог посетить робот: right - left + 1.

Реализация:

реализация на C#

https://gist.github.com/unilecs/d0019efd2e61bc74a0bc67d6f0fece62


Тест:

https://dotnetfiddle.net/2ZRjLg

Report Page