Ctrl K

Робот стартует с каждого шага

Средняя
Поле — квадрат size × size, клетки нумеруются (строка, столбец) от (0, 0) в левом верхнем углу до (size - 1, size - 1) в правом нижнем. Робот стоит в клетке start = [строка, столбец]. Дана программа moves из команд L (влево), R (вправо), U (вверх) и D (вниз). Робот может начать выполнение с любой команды moves[i] и дальше выполняет команды по порядку до конца строки. Он останавливается, как только следующая команда вывела бы его за пределы поля, или когда команды закончились. Для каждого i робот стартует заново из клетки start. Верните список, где на месте i стоит число команд, которые робот успеет выполнить, начав с команды i.
Пример 1
size=3, start=[1, 1], moves="RRUL" → [1, 3, 2, 1]

С шага 0: R уводит в (1, 2), второй R вывел бы за край — 1 команда. С шага 1: R, U, L — все три. С шага 2: U, L — две. С шага 3: L — одна.

Пример 2
size=2, start=[0, 0], moves="UDDR" → [0, 1, 2, 1]

С шага 0 робот сразу упирается в верхний край. С шага 1: D в (1, 0), следующий D вывел бы за край — 1. С шага 2: D, R — 2. С шага 3: R — 1.

Ограничения
  • 1 ≤ size ≤ 500
  • 1 ≤ len(moves) ≤ 500
  • 0 ≤ start[0], start[1] < size
  • moves состоит из букв L, R, U, D
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиУмножение длинных чисел в строках СредняяПроизведение комплексных чисел в строках СредняяСетка плей-офф по посеву СредняяСумма цепочки дробей СредняяНайдите x Средняя
загружаем Python…
Вход
size=3, start=[1, 1], moves="RRUL"
Ожидается
[1, 3, 2, 1]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 91 тест на сервере, включая скрытые.