Pagini recente »
Diferențe pentru problema/postinfix între reviziile 13 și 16
|
Postinfix
|
Diferențe pentru problema/postinfix între reviziile 11 și 16
|
Postinfix
|
Diferențe pentru problema/postinfix între reviziile 6 și 16
Nu există diferențe între titluri.
Diferențe între conținut:
h2. Descriere
Forma infix a unei expresii este forma cu care suntem cu toții obișnuiți:
* $operand1 OPERATOR operand2$
* $A + B$
* $A * B$
Forma postfix se obține prin scrierea operatorului în urma operanzilor:
* $operand1 operand2 OPERATOR$
* $AB+$
* $AB*$
h2. Exemplu pas cu pas
Avem forma infix:
* $A * (B + C / D)$
Construim forma postfix pas cu pas. Pentru simplitate, vom ignora spațiile: $A*(B+C/D)$.
* Pasul 1. Avem doi termeni: $A * (B+C/D)$. Operația de înmulțire se mută la final.
** $A(B+C/D)*$
* Pasul 2: În interiorul parantezei, avem doi termeni: $B + C/D$. Operația de adunare se mută la final.
** $A(BC/D+)*$
* Pasul 3: $C/D$ devine $CD/$
** $ABCD/+*$
h2. Alte exemple
* $A + B = AB+$
* $A + B - C = AB+C-$
* $A - B * C = ABC*-$
* $(A - B) / C = AB-C*$
* $(A + B) * (C + D) = AB+CD+*$
Pentru mai multe informații, urmăriți descrierea problemei "Inpostfix":problema/inpostfix.
h2. Date de intrare
* $1 ≤ lungimea sirului ≤ 100.000$
* $Operanzii expresiei sunt formați dintr-o singură literă mare din alfabetul englez [A...Z]$
* $Operatorii aritmetici din expresie sunt + - * /$
* $În evaluarea sursei, se va converti scrierea infix din fișierul de ieșire în postfix, iar rezultatul obținut va fi comparat cu expresia din fișierul de intrare$
h2. Precizări
* $Se va accepta orice soluție validă. De exemplu:$
** $ABC+*D/ -> A*(B+C)/D = (A*(B+C))/D = ((A*(B+C))/D) = ((A*(B+C))/D)$
* $Altfel spus, vor fi punctate și soluțiile care nu au un număr minim de paranteze în scrierea infix$
* $Mai precis, în evaluarea sursei se va converti scrierea infix din fișierul de ieșire în postfix, iar rezultatul obținut va fi comparat cu expresia din fișierul de intrare$
* $Fișierul de ieșire trebuie să conțină maxim 200.000 caractere!$
h2. Exemplu
Nu există diferențe între securitate.