.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » expeval

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
 .campion
expeval


Timp maxim de execuţie/test:
0.1 secunde
Memorie totala disponibilă/stivă:
4 MB/1 MB

Se consideră o expresie aritmetică formată din operanzi, operatori şi paranteze rotunde. Operatorii pot fi + (adunarea), * (înmulţirea), / (div), % (mod). Operanzii sunt litere mici ale alfabetului, iar valorile pe care le pot lua sunt din mulţimea {1, 2, 3}. De exemplu, având expresia (a+b)*(b+c/a), dacă se alege a=2, b=1, c=3, vom obţine expresia (2+1)*(1+3/2) care se evaluează conform regulilor matematice ştiute. Dar asocierea operanzilor cu valorile din mulţimea {1, 2, 3} nu este unică, astfel că dacă am fi ales a=1, b=3, c=2, atunci se obţinea expresia (1+3)*(3+2/1). Se ştie că expresia este corectă şi că nu conţine paranteze inutile de tipul (a) sau ((a+b)).

Cerinţă

Dându-se o expresie, să se asocieze fiecărui operand o valoare din mulţimea {1, 2, 3} astfel încât rezultatul expresiei să fie maxim posibil.

Date de intrare

Fisierul de intrare expeval.in conţine pe prima linie expresia artimetică.

Date de ieşire

Fisierul de iesire expeval.out va conţine un singur număr natural reprezentând valoarea maximă care poate fi obţinută din evaluarea expresiei prin asocierea convenabilă a operanzilor cu valorile din mulţimea {1,2,3}.

Restricţii

  • Expresia este de lungime maximă 100 şi nu conţine spaţii şi nici alte caractere nepermise
  • În expresie este cel puţin un operand şi sunt cel mult 10 operanzi distincţi
  • Valoarea maximă ale rezultatului evaluării expresiei, ca şi valorile intermediare,  nu vor depăşi 2 000 000 000
  • Dacă la o împărţire de forma a/b sau a%b operandul b este 0, atunci se consideră că expresia nu poate fi evaluată şi atunci prin convenţie rezultatul evaluării întregii expresii este 0.
  • Într-o expresie de forma a/b*c evaluarea se face de la stânga la dreapta, adică se determină mai întâi câtul împărţirii lui a la b, apoi rezultatul se înmulţeşte cu c

Exemple

expeval.in expeval.out Explicaţii
c+a*(b+a)/k 21

Sunt patru operanzi, a, b, c, k. Valoarea maximă 21 se obţine dacă a=3, b=3, c=3, k=1.

expeval.in expeval.out Explicaţii
a*(a+a/f)+f*f*f/(a*a*a) 28 Valoarea maximă 28 se obţine dacă a=1 şi f=3.
expeval.in expeval.out Explicaţii
z/(x/(x+y)) 0 Subexpresia x/(x+y) este 0, indiferent de valorile lui x şi y, deci expresia nu se poate evalua. Valoarea afişată va fi 0.

prof. Dan Pracsiu
Grupul Şcolar „Ştefan Procopiu” Vaslui
dpracsiu@yahoo.com
propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la XOR 2012: proddiv, perechi2, maxtri, combcuv, dfs
De acelaşi autor: cai, rebus, harta, comun, axa, sir, ocean14, reduceri, div3, patrate6, vot, reziduu, accesibil, predecesor, permutari, scanduri, ordonare, xor1, paltrei, triunghi1, 123, traseu1, parbit, petrecere, secvbiti, subm, triunghi3, cmmdcsecv, drumuri1, fillmat, secvb, siruri3, acces, segmente, echilibru1, broscute, ksecv, paisprezece, proddiv, perechi2, maxtri, combcuv, dfs, qtri, blis, maxbin, probleme, divider, eliminare, minm, genab, grafxy, matd3, azeval, matrixdel, speed, maxp, split, binremove, sminus, subsets, tcif, sprime, sir2dif, ecp, arbsum, robotzi, permtr, unudoi, matcnt, ssdj, dominant
Despre şiruri de caractere: scp, ab, sl, nrcuv, rv, kpal, chimie, reteta, replace, grad, index, cod, text, decript, spam, complex, cifre, anagrame, balbe, criptmat, mesaj, maxim, astre, sablon, formule, ed, balls, vocale, prop, bacan, novel, bitslang, text2, ref, scor2, convert, cod2, compress, pstring, sub, rima, program1, sms, circular, randuri, cezar, bifo, joc9, pal, bare, joc12, fractie, cod3, tunel, csir, top, ratina, cifru1, limbaj, adun, ecuatii, dir, paritate, virus, sir6, mesaj2, text1, sirul, ogorul, rez, sablon1, anag, sir8, seti, secvsir, dp, cuvant, strings, antipatie, fractie1, links, ordonare, text3, concat, codif, cheie, alfabetar, cuvinte2, comp, litere, mxl, mesaj3, expresie2, grad2, antic, zuma, combcuv, lgdrum, subtitrare, compresie, zigzag, azeval, fraze, subsecvente, showroom, rebus1, agenda, opmult, betisoare, reziston, clase, vot2, ecp, smiley, charlie, cript, scadere, spioni1, sablon3, expand, culori3, virgule
Despre stiva: sl, teren, reactii, complex, auto, bile3, chimie2, vile, puncte1, masina3, matrice1, dir, stiva, munte2, perle, basm, predecesor, expresie1, telecab, expresie2, liste, intervale, jocs, copaci2, plus, azeval, unific, swap, stiva1, ecp, charlie
Despre generare: taste, pluricex, balbe, magic3, formule, grup, zmeu, nr01, reteta2, playlist, pizza1, caramele, caini, tvshow, adevar, prime1, hexa, premii1, carti2, bile4, hof, matrx, cubinvers, arctir, guess, minmax, stele, tablou1, adunscad, sumprod, prisme, operatii1, triburi1, optim, patru, genab, dineu, cumpanit, nkd, relatii, wb
Chestionare recomandate
surse trimise | ajutor