Diferente pentru problema/eval intre reviziile #14 si #27

Diferente intre titluri:

eval
Eval

Diferente intre continut:

== include(page="template/taskheader" task_id="eval") ==
Se da o expresie matematica care va contine $N$ variabile, numele variabilelor fiind litere mici din alfabetul englez. Expresia va contine variabile, paranteze ({$(, )$}), operatori binari (@+, -, *@) si operatori unari (@-, +, []@). Cu exceptia operatorului unar $[]$ care semnifica operatia de ridicare la patrat, toti ceilalti operatori au semnificatia clasica. Operatorii unari au prioritatea cea mai mare, urmati de operatorul $*$; operatorii binari $+, -$ au prioritatea cea mai mica. Scrieti un program care evalueaza o astfel de expresie.
Se da o expresie matematica care va contine $N$ variabile, numele variabilelor fiind litere mici din alfabetul englez. Expresia va contine variabile, paranteze ({$(, )$}), operatori binari (@+, -, *@) si operatori unari (@-, +, []@). Cu exceptia operatorului unar $[]$ care semnifica operatia de ridicare la patrat, toti ceilalti operatori au semnificatia clasica. Operatorii unari au prioritatea cea mai mare, urmati de operatorul $*$; operatorii binari $+, -$ au prioritatea cea mai mica. Scrieti un program care evalueaza o astfel de expresie.
h2. Date de intrare
Pe prima linie din fisierul de intrare $eval.in$ se va afla numarul $N$ de variabile din expresie. Urmatoarele $N$ vor contine cate un numar natural reprezentand valorile variabilelor din expresie: prima linie va reprezenta valoarea variabilei $a$, a doua linie va reprezenta valoarea variabilei $b$, etc.. Urmatoarea linie va contine un sir de caractere reprezentand expresia care trebuie evaluata.
Pe prima linie din fisierul de intrare $eval.in$ se va afla numarul $N$ de variabile din expresie. Urmatoarele $N$ vor contine cate un numar intreg reprezentand valorile variabilelor din expresie: prima linie va reprezenta valoarea variabilei $a$, a doua linie va reprezenta valoarea variabilei $b$, etc.. Urmatoarea linie va contine un sir de caractere reprezentand expresia care trebuie evaluata.
h2. Date de iesire
In fisierul de iesire $eval.out$ se va afla un singur numar natural reprezentand valoarea expresiei.
In fisierul de iesire $eval.out$ se va afla un singur numar intreg reprezentand valoarea expresiei.
h2. Restrictii
* $1 ≤ N ≤ 26$
* Lungimea expresie este un numar natural din intervalul $[1, 30.000]$
* Valoarea fiecare variabile este un numar natural din intervalul $[0, 10^1.000^]$
* Se garanteaza ca valoarea expresiei va fi un numar natural din intervalul $[0, 10^1.000^]$
* Lungimea expresie este un numar natural din intervalul $[1, 100.000]$
* Valoarea fiecarei variabile este un numar intreg din intervalul $[-10^1.000^, 10^1.000^]$
* Se garanteaza ca expresia este corecta din punct de vedere matematic
* Se garanteaza ca valoarea expresiei va fi un numar intreg din intervalul $[-10^1.000^, 10^1.000^]$
* Pentru $70%$ din teste variabilele si rezultatul expresiei vor fi numere naturale
h2. Exemplu
1
2
3
a*(b+c)*(a*a+b*--+c)-[@c@]
| 26
[a]*(b+c)*(a*a+b*--+c)-c
| 32
|
== include(page="template/taskfooter" task_id="eval") ==
 

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
1957