Codeforces Round 335 (Div. 2) |
---|
Закончено |
В организации Cybernetics Failures (CF) создали прототип робота-сапёра. Для обнаружения возможных проблем в его функционировании было принято решение провести серию испытаний. В начале каждого испытания прототип робота будет помещён в клетку (x0, y0) прямоугольного клетчатого поля размера x × y, после чего в одну из клеток поля будет установлена мина. Предполагается провести ровно x·y испытаний, каждый раз устанавливая мину в ранее не использованную клетку. Стартовая же клетка робота никогда не меняется.
После размещения объектов на поле робот должен будет выполнить последовательность команд, заданную строкой s, состоящей только из символов 'L', 'R', 'U', 'D'. Эти команды предписывают роботу переместиться влево, вправо, вверх или вниз на одну клетку или остаться на месте, если перемещение в данном направлении невозможно. Как только робот выполнит всю последовательность команд, он взорвется из-за бага в коде. Если же в какой-то момент времени робот находится в одной клетке с миной, он также взорвётся, но уже не из-за бага в коде.
Движение влево уменьшает координату y, а движение вправо её увеличивает. Аналогично, движение вверх уменьшает координату x, а движение вниз её увеличивает.
Испытания могут затянуться очень надолго, поэтому вам предстоит предсказать их результаты. Для каждого k от 0 до length(s) вам требуется найти, в скольких испытаниях робот выполнит ровно k команд, прежде чем взорвётся.
В первой строке записаны четыре целых числа x, y, x0, y0 (1 ≤ x, y ≤ 500, 1 ≤ x0 ≤ x, 1 ≤ y0 ≤ y) — размеры поля и стартовые координаты робота. Координатная ось X направлена вниз, а ось Y — вправо.
Во второй строке записана последовательность команд s, которую надо исполнять роботу. Она имеет длину от 1 до 100 000 символов и состоит только из символов 'L', 'R', 'U', 'D'.
Выведите последовательность, состоящую из (length(s) + 1) чисел. На k-й позиции, если считать с нуля, выведите количество испытаний, в которых робот выполнит ровно k команд, прежде чем взорвётся.
3 4 2 2
UURDRDRL
1 1 0 1 1 1 1 0 6
2 2 2 2
ULD
1 1 1 1
В первом примере, если исключить возможное воздействие мин, маршрут робота будет выглядеть так: .
Название |
---|