Revizia anterioară Revizia următoare
| Fișierul intrare/ieșire | functii.in, functii.out | Sursă | imaginație proprie |
|---|---|---|---|
| Autor | Theodor-Ioan Pîrnog | Adăugată de |
|
| Timp de execuție pe test | 0.07 sec | Limită de memorie | 16384 KB |
| Scorul tău | N/A | Dificultate | N/A |
Vezi soluțiile trimise | Statistici
FUNcții (clasa a 10-a)
Personajul nostru principal, Auraș, a primit o temă interesantă la informatică: el a primit N funcții fi : 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.
Rezolvați-i tema lui Auraș pentru a primi cele 100 de puncte.
Date de intrare
Pe prima linie a fișierului de intrare functii.in se va afla numărul N, urmând ca pe următoarele N linii să se afle funcțiile fi : Z → Z.
Pe ultima linie a fișierului de intrare se va afla expresia de evaluat.
Date de ieșire
Fișierul de ieșire functii.out va conține rezultatul expresiei de evaluat %773.
Restricții și precizări
- 1 ≤ N ≤ 100;
- 1 ≤ K ≤ 14;
- 1 ≤ L(fi) ≤ 700, pentru orice fi;
- 1 ≤ L(E) ≤ 700;
- L(fi) = lungimea funcțiilor fi;
- 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, 103] și sunt numere întregi;
- Funcțiile fi se dau în ordinea f1, f2, f3 ..., fN;
- 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;
- Se garantează că expresia de evaluat este corectă.
Exemplu
| 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 |
619 |
f1(3,4) = 27
f2(1,1,1) = 4
f2(0,0,7) = -7
Expresia de evaluat va fi (27 – 4) * (-7) + 7 = -154, iar -154 % 773 = 619. |
Poți vedea testele pentru această problemă accesând