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

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


Timp maxim de execuţie / test:
2s
Memorie totala disponibilă / stivă:
2MB / 2MB

Se consideră o expresie, care poate să conţină:
• operanzi, care sunt litere mici ale alfabetului englez;
• paranteze rotunde;
• operatorul / care simbolizează împărţirea;
• operatorul * care simbolizează înmulţirea.
Regulile după care se evaluează o astfel de expresie sunt cele din matematică.
Ne propunem să rescriem această expresie sub forma unui produs în care factorii pot să apară la puteri pozitive sau negative fără să mai folosim parantezele rotunde şi în care folosim notaţia xy pentru x*y.
Astfel, a/b este echivalentă cu a1b-1, a*(c/b) este echivalentă cu a1c1b-1, a/(b*c)*(a*b/c) este echivalentă cu a2c-2

Cerinţă

Cunoscând expresia iniţială să se determine expresia echivalentă scrisă sub formă de produs.

Date de intrare

Pe prima linie a fişierului expresie2.in se află un şir de caractere ce reprezintă expresia dată.

Date de ieşire

Fiecare linie a fişierului expresie2.out va conţine un operand urmat de exact un spaţiu şi de un număr întreg ce reprezintă puterea la care acest operand apare în expresia scrisă sub formă de produs echivalentă. Operanzii vor apărea în fişier în ordine alfabetică, iar puterile pozitive sau nule nu vor fi precedate de semn.

Restricţii

• Expresia dată are cel mult 20000 de caractere
• Expresia dată este corectă şi nu conţine caractere spaţiu
• 10% dintre teste vor conţine doar operatorul *.

Exemple

expresie2.inexpresie2.out
a/b a 1 b -1
a/(b*c)*(a*b/c) a 2 b 0 c -2
(p/x)/((b/h/(x/x)))/(p/(b/(x/(h/(p))))) b 0 h 2 p -1 x -2

autor: Prof. Stelian Ciurea
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la ONI 2011: sport2, macheta, butoane, acces, mxl, segmente, tsunami, tort1, ec, ape, poligon4, stalpi2, furnici1, telecab, ikebana, posta, fotbal1, xmoto, radare, pamant, fagure, goe, papusa, taburet, joc17, mesaj3, zar1, joc16, talent, xy, arbore1, robot3, copii, hacker, terenuri3d, terenuri, poteci, joc18
De acelaşi autor: numar, submat, 2numere, desc, log, patrate4, scara2, camion1, cifru2, frunze, grade, numar3, cmmmc, ai, robot3, cifre4, robot4, momente
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, grad2, antic, zuma, expeval, 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, liste, intervale, jocs, expeval, copaci2, plus, azeval, unific, swap, stiva1, ecp, charlie
Chestionare recomandate
surse trimise | ajutor