program

Atunci când este analizata o sursa scrisa într-un anumit limbaj de programare, este util sa verificam daca exista instructiuni care cu siguranta nu vor fi executate niciodata. Daca exista, atunci acestea ar putea reprezenta o eroare în program.

Sa consideram un limbaj de programare simplu, care admite urmatoarele instructiuni:
EXECUTA - executia programului continua cu urmatoarea instructiune;
SALT n - executia programului continua cu cea de a n-a instructiune;
SALT n SAU m - executia programului continua cu cea de a n-a sau cea de a m-a instructiune.
Executia unui program începe întotdeauna cu prima instructiune.

Cerinta

Scrieti un program care sa determine numarul de instructiuni care nu vor fi niciodata executate.

Date de intrare

Fisierul de intrare program.in contine mai multe instructiuni, câte o instructiune pe linie. Ultima linie din fisier contine (ca marcaj de sfârsit) caracterul ‘.’.

Date de iesire

Fisierul de iesire program.out contine o singura linie pe care se afla numarul de instructiuni care nu vor fi niciodata executate.

Restrictii
Numarul de instructiuni este cel mult egal cu 10000.
Instructiunile sunt numerotate începând cu 1.

Exemple

program.in program.out program.in program.out program.in program.out
EXECUTA
EXECUTA
EXECUTA
.
0 SALT 1
EXECUTA
.
1 EXECUTA
SALT 4 SAU 6
EXECUTA
SALT 3
EXECUTA
SALT 8
EXECUTA
EXECUTA
.
2

Timp maxim de executie/test: 0.1 secunde

prof. Emanuela Cerchez

Liceul de Informatica "Grigore Moisil" Iasi

Contact:ema at mail.dntis.ro