Diferente pentru problema/expr intre reviziile #1 si #8

Nu exista diferente intre titluri.

Diferente intre continut:

==Include(page="template/taskheader" task_id="Expr")==
==Include(page="template/taskheader" task_id="expr")==
 
Acarie, un student eminent, are probleme cu tema pentru seminarul de structuri algebrice. A redus problema la una simpla, de operatii cu multimi. Insa sunt prea multe operatii si deja e timpul sa iasa in oras. Ajutati-l sa iasa din incurcatura.
 
h2. Cerinta
 
Scrieti un program care gaseste rezultatul unei expresii valide date.
 
h2. Date de Intrare
 
In fisierul $expr.in$ se da un sir de caractere fara spatii. Acest sir de caractere poate contine urmatoarele elemente:
 
* operanzii - sunt multimi, descrise de o acolada ( {@{@} ) urmata de numerele care fac parte din multimea respectiva (in ordine crescatoare) despartite de virgula ( {@,@} ) si terminate cu alta acolada ( {@}@} )
* operatorii - care pot fi paranteze, sau una din urmatoarele operatii (care au aceeasi prioritate):
** {@*@} - intersectie
** {@+@} - reuniune
** {@-@} - diferenta
** {@%@} - diferenta simetrica: {@A%B = (A-B)+(B-A) = (A+B) - (A*B)@}
 
h2. Date de Iesire
 
Scrieti rezultatul expresiei in fisierul $expr.out$ ca o singura multime (dupa formatul multimilor din input).
 
h2. Restrictii si precizari
 
* Lungimea sirului ≤ $100.000$
* Numarul de valori distincte care apar in intreaga expresie ≤ $8000$
* $0$ ≤ valorile care apar in multimi ≤ $2.000.000.000$ (intregi)
* Adancimea maxima de parantezare ≤ $100$
* Numarul maxim de operatii ≤ $10.000$
* Multimea vida este reprezentata prin {@{}@}
* Numerele din multimea rezultata vor fi afisate in ordine crescatoare
 
h2. Exemplu
 
table(example). |_. expr.in |_. expr.out |
| {1,2,3,4}%({1,2,3,4}*{}+{1,2}+{5,6}-{1})
| {1,3,4,5,6} |
 
 
==Include(page="template/taskfooter" task_id="expr")==
==Include(page="template/raw")==
Expr
 
 
Acarie, un student eminent, are probleme cu tema pentru seminarul de structuri algebrice. A redus problema la una simpla, de operatii cu multimi. Insa sunt prea multe operatii si deja e timpul sa iasa in oras. Ajutati-l sa iasa din incurcatura.
 
h2. Cerinta
 
Scrieti un program care gaseste rezultatul unei expresii valide date.
 
h2. Date de Intrare
 
In fisierul expr.inse da un sir de caractere fara spatii. Acest sir de caractere poate contine urmatoarele elemente:
 
operanzii - sunt multimi, descrise de o acolada ( { ) urmata de numerele care fac parte din multimea respectiva (in ordine crescatoare) despartite de virgula ( , ) si terminate cu alta acolada ( } )
 
operatorii - care pot fi paranteze, sau una din urmatoarele operatii (care au aceeasi prioritate):
 
* - intersectie
 
+ - reuniune
 
- - diferenta
 
% - diferenta simetrica: A%B = (A-B)+(B-A) = (A+B) - (A*B)
 
h2. Date de Iesire
 
Scrieti rezultatul expresiei in fisierul expr.out ca o singura multime (dupa formatul multimilor din input).
 
h2. Restrictii
 
. Lungimea sirului <= 100.000
 
. Numarul de valori distincte care apar in intreaga expresie <= 8000
 
. 0 <= Valorile care apar in multimi <= 2.000.000.000 (intregi)
 
. Adancimea maxima de parantezare <= 100
 
. Numarul maxim de operatii <= 10.000
 
 
 
Observatii
 
. Multimea vida este reprezentata prin {}
 
. Numerele din multimea rezultata vor fi afisate in ordine crescatoare
 
h2. Exemplu
 
 
|expr.in |expr.out |
 
|{1,2,3,4}%({1,2,3,4}*{}+{1,2}+{5,6}-{1}) |{1,3,4,5,6} |
 
 
 
 
 
==Include(page="template/taskfooter" task_id="Expr")==

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
670