I. Космический мусорщик

advertisement
III Всероссийская Командная Олимпиада Школьников по Программированию
Санкт-Петербург, Дворец Творчества Юных – Барнаул, Гимназия 42, 24 ноября 2002 года
Задача I
Космический мусорщик
Имя входного файла:
Имя выходного файла:
Максимальное время работы на одном тесте:
Максимальный объем доступной памяти:
trash.in
trash.out
2 секунды
8 мегабайт
В околоземном космическом пространстве накопилось много мусора, поэтому ученые
сконструировали специальный аппарат – ловушку для космического мусора. Для того, чтобы хорошо
собирать мусор, этот аппарат должен двигаться по достаточно сложной траектории, сжигая собранный по
пути мусор. Ловушка может передвигаться в пространстве по 6 направлениям: на север (N), на юг (S),
на запад (W), на восток (E), вверх (U) и вниз (D). Движением ловушки управляет процессор. Программа
движения задается шестью правилами движения, которые соответствуют каждому из указанных
направлений. Каждое такое правило представляет собой строку символов из множества {N, S, W, E, U, D}.
Команда ловушки есть пара из символа направления и параметра – целого положительного числа
M. При исполнении такой команды ловушка в соответствии со своей программой выполняет следующее.
Если параметр больше 1, то она перемещается на один метр в направлении, которое указано в команде, а
затем последовательно выполняет команды, заданные правилом для данного направления, с параметром
меньше на 1. Если же параметр равен 1, то просто перемещается на один метр в указанном направлении.
Пусть, например, заданы следующие правила:
Направление
Правило
N
N
S
NUSDDUSE
W
UEWWD
E
U
U
D
WED
Тогда при выполнении команды S(3) мусорщик выполнит следующие действия:
1) переместится на 1 метр в направлении S
2) выполнит последовательно команды N(2), U(2), S(2), D(2), D(2), U(2), S(2), E(2).
Если далее проанализировать действия мусорщика при выполнении команд из пункта 2, получим,
что в целом он совершит следующие перемещения:
SNNUUSNUSDDUSEDWEDDWEDUUSNUSDDUSEE
По заданной команде определите, какое общее количество перемещений на один метр совершит
ловушка при выполнении заданной команды. В приведенном примере это количество равно 34.
Формат входных данных
Первые шесть строк входного файла задают правила для команд с направлением N, S, W, E, U и D
соответственно. Каждая строка содержит не более 100 символов (и может быть пустой). Следующая строка
содержит команду ловушки: сначала символ из множества {N, S, W, E, U, D}, затем пробел и параметр
команды – целое положительное число, не превышающее 100.
Формат выходных данных
Выведите в выходной файл единственное число – количество перемещений, которое совершит
ловушка. Гарантируется, что ответ не превышает 109.
Пример
trash.in
N
NUSDDUSE
UEWWD
trash.out
34
U
WED
S 3
Страница 1 из 10
Download