Contest.samsu.ru :: соревнования по программированию
Русская версия || English version
Login:
Password:
Забыли пароль?
 пример поиска: Вася Пупкин
 

Система команд процессора

Задачу добавил: alef

Успешно сдано решений: 56

Быть может, кто-то из Вас помнит историю об агенте 008 (которая была подробно изложена в качестве задач командной олимпиады школьников в феврале этого года). Он пытался добыть секретные коды операционной системы, разрабатываемой компанией Closed Systems
Но у всякой истории есть своя предыстория.
Компания Closed Systems была основана несколькими энтузиастами, которые хотели построить свою собственную вычислительную систему, спроектировав все от начала до конца - от процессора до операционной системы и среды разработки. Эта система получила условное название Кракатау

Когда разрабатывается процессор, одним из важных моментов является решение о его системе команд. Разработчикам хотелось, с одной стороны, ограничиться небольшим количеством элементарных команд. С другой стороны (все-таки пользователи захотят работать и с графикой, и с музыкой), им хотелось
включить в систему команд и такие, которые, не будучи элементарными, позволят, к примеру ускорить обработку больших массивов данных.

В итоге было принято компромиссное решение. Оно заключалось в следующем.
Был составлен список всех неэлементарных команд, и каждой из них была
сопоставлена последовательность команд элементарных. Если эта
последовательность состояла из более чем N команд, то такая неэлементарная
команда вводилась в систему команд. Ваша задача - посчитать, сколько
неэлементарных команд было добавлено в систему команд процессора.

Формат входного файла input.txt
Первая строка - целые числа N (1<=N<=50) - максимальная длина
последовательности элементарных команд, K (1<=K<=100) -
количество элементарных команд, M (1<=M<=100) -
исходное количество неэлементарных команд
Следующие K строк содержат элементарные команды процессора
(по одной команде в строке)
Следующие за ними M строк содержат информацию в формате:
<неэлементарная команда> <пробел> <список элементарных команд>,
где <список элементарных команд> - это
элементарные команды, записанные через пробел
Каждая команда (как элементарная, так и неэлементарная)
может состоять из латинских букв и цифр, длина команды - не более 20 символов

Формат выходного файла output.txt
Целое число - количество неэлементарных команд, которые были добавлены
в систему команд процессора

Пример входного файла
3 3 7
if
then
goto
copy goto if if then goto if goto then
shift goto if
trunc if goto then
jump goto goto if goto then
loop if then goto if goto then
sleep if then goto
flap if goto if then goto

Пример выходного файла
4

Сдать задачу

Задать вопрос жюри по этой задаче