АВТ
Язык:

Дистанционный практикум по программированию

Задачи Online статус Турниры
Учебники Справка СДО
 
Здравствуйте, Гость! Войдите с паролем или зарегистрируйтесь.

98. Анализ программы

Ограничение времени: 2 сек.
Ограничение памяти:65536 КБайт
Баллы:100
Статистика Послать на проверку Задачу добавил debug


При анализе исходного текста программы полезно знать, присутствуют ли в нем операторы,
которые никогда не будут выполняться, т.к. это практически всегда говорит об ошибках 
в программе. Поэтому модули для такой проверки включаются в состав компилятора для любых 
языков программирования. Вам необходимо смоделировать работу такой проверяющей подсистемы.

Входные данные состоят из N строк (1 <= N <= 10000), полученных в результате синтаксического 
анализа исходного текста программы. Каждая строка этого файла соответствует одному оператору 
исходного текста и содержит следующие данные:

 NEXT - после оператора, соответствующего этой строке, может быть  выполнен лишь 
 следующий по порядку оператор;

 JUMP номер - после оператора, соответствующего этой строке, может быть  выполнен 
 лишь оператор с указанным номером (нумерация операторов начинается с единицы);

 JUMP номер1 OR номер2 - после оператора, соответствующего этой строке, может быть 
 выполнен один из двух операторов, номера которых указаны.

Номера операторов отделены от служебных слов одним или несколькими пробелами. 
Известно, что программа всегда начинает выполняться с оператора с номером 1.

Выходные данные помещаются состоят из нескольких строк. Первая строка содержит 
число невыполняемых операторов, каждая из последующих строк - их номера, расположенные 
в порядке возрастания.

Пример входных данных:

NEXT
JUMP 4 OR 6
NEXT
JUMP 3
NEXT
JUMP 8
NEXT
NEXT


Пример выходных данных:

2
5
7

Статистика Послать на проверку Обсуждение задачи Автор/источник:
Задачи с соревнований / Отборочные туры ВоГУ / Отборочный тур на ACM ICPC 2005 /
98. 100. Векторы 97. Прогрессия 99. Шутка
 
время генерации 0.11 сек.
© Copyright ВоГУ, АВТ, Носов Д.А.