Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2006-11-11 11:23:36.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:bool.in, bool.outSursăpreONI 2004
AutorAdrian VladuAdăugată de
Timp execuţie pe test0.05 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise | Statistici

Bool

Aceasta pagina a fost importata din infoarena1 si nu este inca prelucrata.
Sterge ==Include(file="template/raw")== cand esti multumit cu continutul paginii.

Link: [1]File-List

Boolean

Haralambie a primit la scoala o tema destul de dificila! El trebuie sa evalueze o expresie logica. Aceasta expresie contine variabile(llitere mari ale alfabetului englez de la "A" la "Z"), constante("TRUE" si "FALSE"), paranteze rotunde ("(" si ")") si operatorii logici "NOT", "AND" si "OR". "NOT" are prioritatea cea mai mare, "OR" are prioritatea cea mai mica. Initial toate variabilele au valoarea "FALSE". Lui Haralambie ii place sa evalueze expresii, dar variabilele isi mai schimba uneori valoarea si expresia trebuie reevaluata. Speriat din aceasta cauza, a decis sa apeleze la ajutorul vostru! Dupa cum este mentionat mai sus o expresie logica este definita in unul din modurile urmatoare :

TRUE
FALSE c litera mare a alfabetului englez de la "A" la "Z"
c e expresie logica
(e) e expresie logica
NOT e e1 si e2 expresii logice
e1 AND e2 e1 si e2 expresii logice
e1 OR e2

Cerinta
Se da expresia ce trebuie evaluata si modificarile ce apar la valorile variabilelor. Pentru fiecare modificare de variabila trebuie reevaluata expresia si afisat rezultatul (1 pentru adevarat si 0 pentru fals).

Date de Intrare
Pe prima linie a fisierului de intrare bool.in este scrisa expresia logica definita ca mai sus. Pe a doua linie este dat numarul N de modificari ale variabilelor. Pe linia a treia sunt date N caractere intre "A" si "Z", reprezentand variabilele a caror valoare este modificata.

Date de Iesire
Fisierul bool.out va contine o singura linie de lungime N. Pentru fiecare modificare de variabila se va afisa un caracter reprezentand valoarea logica a expresiei : 1 pentru adevarat si 0 pentru fals.

Restrictii si precizari

S 1 <= N <= 100

S 1 <= Lungime expresiei <= 1.000

S Toate literele care apar in expresie vor fi majuscule

S Nu va exista mai mult de un spatiu intre doua caractere din expresie

S O variabila care are valoarea TRUE isi schimba valoarea in FALSE, iar o variabila FALSE in TRUE

Exemplu

bool.in bool.out
A AND ((B OR NOT C) OR ((TRUE))) 1110
4
ABCA

References

Visible links
1. file:///home/eval/eval/www/infoarena/docs/arhiva/bool/enunt.files/filelist.xml

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?