|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.11.2014, 08:32 | #1 |
Новичок
Джуниор
Регистрация: 16.11.2014
Сообщений: 2
|
Рекурсия
В околоземном космическом пространстве накопилось много мусора, поэтому ученые сконструировали специальный аппарат - ловушку для космического мусора. Для того чтобы хорошо собирать мусор, этот аппарат должен двигаться по достаточно сложной траектории, сжигая собранный по пути мусор. Ловушка может передвигаться в пространстве по 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 U WED S 3 trash.out 34 |
16.11.2014, 09:59 | #2 |
Пользователь
Регистрация: 01.11.2014
Сообщений: 52
|
Может просто поставить счётчик?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Рекурсия | unbanned | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 19.01.2012 11:25 |
рекурсия | виктория23 | Помощь студентам | 1 | 12.01.2012 21:49 |
Рекурсия | Лунатик222 | Помощь студентам | 0 | 26.12.2011 21:07 |
Рекурсия (C++) | RAVAL(c) | Помощь студентам | 4 | 26.12.2011 01:18 |
рекурсия | -Spirit- | Помощь студентам | 1 | 14.01.2010 16:40 |