Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2006-11-12 01:18:27.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:
Invalid task id
.in,
Invalid task id
.out
Sursă
Invalid task id
Autor
Invalid task id
Adăugată de
Invalid task id
Timp execuţie pe test
Invalid task id
sec
Limită de memorie
Invalid task id
kbytes
Scorul tău
Invalid task id
Dificultate
Invalid task id
Invalid task id

Vezi solutiile trimise | Statistici

Invalid task id

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.

Am pula mare.

Cerinta

Scrieti un program care gaseste rezultatul unei expresii valide date.

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)

Date de Iesire

Scrieti rezultatul expresiei in fisierul expr.out ca o singura multime (dupa formatul multimilor din input).

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

Exemplu

expr.inexpr.out
{1,2,3,4}%({1,2,3,4}*{}+{1,2}+{5,6}-{1})
{1,3,4,5,6}
Expecting parameter `task_id`
Invalid `task_id` parameter

Cum se trimit solutii?