Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2017-01-26 14:12:07.
Revizia anterioară Revizia următoare
Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | evaluare1.in, evaluare1.out | Sursă | PreOJI 2017 |
Autor | Marius Nicoli | Adăugată de | |
Timp execuţie pe test | 0.05 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Evaluare1
Să se evalueze o expresie aritmetică. Aceasta poate conţine: operanzi numere naturale, operatorii: + (operator binar, adunare), / (operator binar, câtul împărţirii), ^@ (operator binar, ridicare la putere), ! (operator unar, oglindeşte valoarea operandului, ex: !560 dă 65). Oricare doi operatori au priorităţi diferite (crescătoare, în ordinea dată mai sus, aşadar + are prioritatea cea mai mică). Operatorii + şi / se aplică de la stânga la dreapta. Operatorul @^
se aplică de la dreapta la stânga. Operatorul Imaginile trebuie neaparat sa fie atasamente ale unei pagini.
!10 + 3@@2@@3)/2 are valoarea 3286 ( 5 + (1+3@^@8)/2 = 5+6562/2 = 5+3281 = 3286 ).
Date de intrare
Fişierul evaluare1.in contine pe primul rând expresia de evaluat.
Date de ieşire
Fişierul evaluare1.out conţine pe primul rând valoarea expresiei evaluate.
Restricţii
- şirul dat are maxim 100 de caractere
- numerele care apar iniţial în expresie sunt naturale de maxim 3 cifre
- valoarea de afişat se încadrează pe long long
- pentru 10% din punctaj nu apar paranteze şi este prezent doar operatorul +
- pentru alte 10% din punctaj nu apar paranteze şi sunt prezenţi doar operatorii + şi /
- pentru alte 40% din punctaj apar doar operatorii + şi / şi pot apărea şi paranteze
- pentru alte 10% din punctaj apar paranteze şi operatorii +, / şi !
- pentru alte 10% din punctaj apar paranteze şi operatorii +, / şi @^@
- expresia dată este corectă şi nu conţine alte caractere
Exemplu
evaluare1.in | evaluare1.out |
---|---|
5+(!!10+323)/2 | 3286 |
Trebuie sa te autentifici pentru a trimite solutii. Click aici