Pagini recente »
Diferențe pentru problema/clasa1 între reviziile 30 și 29
|
Diferențe pentru utilizator/mihai00700 între reviziile 29 și 31
|
Diferențe pentru utilizator/radu_vasile între reviziile 86 și 107
|
Diferențe pentru utilizator/radu_vasile între reviziile 63 și 62
|
Diferențe pentru problema/functii între reviziile 13 și 20
Nu există diferențe între titluri.
Diferențe între conținut:
== include(page="template/taskheader" task_id="functii") ==
Personajul nostru principal, Auraș, a primit o temă interesantă la informatică: el a primit **[$N$]** funcții **$f[~i~] : Z → Z$**, unde fiecare funcție conține primele **[$K$]** variabile din mulțimea ${a, b, c, d, e, x, y, z, t, u, v, k, m, n}$, în ordine (care pot avea coeficienți întregi înaintea lor, fără a fi separați de variabile prin operatorul de înmulțire), alături de constante întregi, operatorii de adunare, scădere, înmulțire și paranteze rotunde. După aceste **[$N$]** funcții primite, el are de evaluat o expresie formată din aceste **[$N$]** funcții primite, alături de constante întregi, operatorii de adunare, scădere, înmulțire și paranteze rotunde. Din păcate Auraș nu se pricepe la acest tip de probleme și vă cere ajutorul ca să o rezolve, în schimbul a $100$ de puncte.
Personajul nostru principal, Auraș, a primit o temă interesantă la informatică: el a primit **[$N$]** funcții **$f[~i~] : Z → Z$**, unde fiecare funcție conține primele **[$K$]** variabile din mulțimea ${a, b, c, d, e, x, y, z, t, u, v, k, m, n}$, în ordine (care pot avea coeficienți întregi înaintea lor, fără a fi separați de variabile prin operatorul de înmulțire), alături de constante întregi, operatorii de adunare, scădere, înmulțire și paranteze rotunde. Tema lui Auraș cere să se evalueze o expresie formată din aceste **[$N$]** funcții primite, alături de constante întregi, operatorii de adunare, scădere, înmulțire și paranteze rotunde. Din păcate Auraș nu se pricepe la acest tip de probleme și vă cere ajutorul ca să o rezolve, în schimbul a $100$ de puncte.
Rezolvați-i tema lui Auraș pentru a primi cele $100$ de puncte.
* $L(f[~i~])$ = lungimea funcțiilor $f[~i~]$;
* $L(E)$ = lungimea expresiei de evaluat;
* Coeficienții și constantele, precum și argumentele funcțiilor regăsite în datele de intrare aparțin intervalului $[0, 10[^3^]]$ și sunt numere întregi;
* Pentru 15 puncte, 1 ≤ L(f[~i~]) ≤ 150, 1 ≤ L(E) ≤ 150 și 1 ≤ K ≤ 4;
* Funcțiile $f[~i~]$ se dau în ordinea $f[~1~]$, $f[~2~]$, $f[~3~]$ ..., $f[~N~]$;
* În definiția funcțiilor nu pot apărea alte funcții;
* În expresia de evaluat, argumentele funcțiilor sunt constante;
* Pentru $15$ puncte, $1 ≤ L(f[~i~]) ≤ 150$, $1 ≤ L(E) ≤ 150$ și $1 ≤ K ≤ 4$;
* Funcțiile $f[~i~]$ se dau în ordinea $f[~1~]$, $f[~2~]$, $f[~3~]$, ..., $f[~N~]$;
* Operatorii de adunare, scădere și înmulțire sunt, în ordine, următorii: $+$, $-$, $*$;
* Nu pot exista coeficienți ca în exemplul: f1(a)=a5, ci doar f1(a)=a*5 sau f1(a)=5a;
* Nu pot exista coeficienți ca în exemplul: f1(a)=a5, ci doar f1(a)=a*5, f1(a)=5*a sau f1(a)=5a;
* Se garantează că expresia de evaluat este corectă.
h2. Exemplu
table(example).
|_. functii.in |_. functii.out |_. Explicație |
| 2
f1(a,b)=2a+5b+1
f2(a,b,c)=5b-c*1
(1*f1(3,4)-f2(1,1,1))*f2(0,0,7)+7
f1(a,b)=2a+5b+1
f2(a,b,c)=5b-c*1
(1*f1(3,4)-f2(1,1,1))*f2(0,0,7)+7
| 619
| $f1(3,4) = 27$
$f2(1,1,1) = 4$
$f2(0,0,7) = -7$
Expresia de evaluat va fi $(1*27 - 4) * (-7) + 7 = -154$, iar $-154 % 773 = 619$.
$f2(1,1,1) = 4$
$f2(0,0,7) = -7$
Expresia de evaluat va fi $(1*27 - 4) * (-7) + 7 = -154$, iar $-154 % 773 = 619$.
|
Nu există diferențe între securitate.