Fişierul intrare/ieşire:multimi4.in, multimi4.outSursăONI 2018, clasa a 10-a, ziua 1
AutorAlin BurtaAdăugată delaurageorgescuLaura Georgescu laurageorgescu
Timp execuţie pe test1 secLimită de memorie131072 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Multimi4

O mulţime cu elemente numere naturale poate fi scrisă într-o formă redusă dacă, ordonând crescător elementele ei, diferenţa dintre oricare două valori alăturate este aceeaşi. De exemplu, mulţimea D={11, 14, 17, 20, 23} poate fi scrisă sub forma D=11-23/3, precizând elementul minim, elementul maxim şi diferenţa dintre elemente. Date fiind N mulţimi scrise sub forma redusă, fiecare fiind notată cu o literă mare a alfabetului englez, se cere să se calculeze o expresie care poate conţine:

  • operaţia de reuniune, notată cu +
  • operaţia de intersecţie, notată cu *
  • literele asociate mulţimilor
  • paranteze rotunde.

Considerăm că valoarea expresiei este mulţimea obţinută după efectuarea operaţiilor specifice mulţimilor considerând că operaţiile de intersecţie au prioritate mai mare decât cele de reuniune.

Cunoscând forma redusă a celor N mulţimi şi o expresie, să se calculeze valoarea expresiei date.

Date de intrare

Datele de intrare se citesc din fişierul multimi4.in, care are următoarea structură:

  • Pe prima linie se află numărul natural N, reprezentând numărul mulţimilor.
  • Pe următoarele N linii se află formele reduse ale celor N mulţimi, câte o mulţime pe fiecare linie.
  • Pe linia N+2 se află expresia ce trebuie calculată.

Date de ieşire

Datele de ieşire se vor scrie în fişierul multimi4.out, astfel:

  • Pe prima linie se va scrie numărul elementelor mulţimii obţinute în urma evaluării expresiei date.
  • Pe linia a doua se vor scrie, în ordine crescătoare, elementele mulţimii respctive, separate prin câte un spaţiu.

Restricţii

  • 2 ≤ N ≤ 16
  • Elementele mulţimilor sunt numere naturale cuprinse între 0 şi 109.
  • Numărul elementelor unei mulţimi este maximum 104.
  • Numărul caracterelor expresiei este cuprins între 3 şi 1000.
  • Forma redusă a unei mulţimi şi expresia dată nu conţin spaţii.
  • Se garantează că, pentru toate datele de test, valoarea expresiei nu poate fi mulţimea vidă.
  • Se garantează că, în teste care totalizează 30 de puncte, expresia nu conţine paranteze.
  • Se garantează că, în teste care totalizează 60 de puncte, cardinalul fiecărei mulţimi date la intrare nu depăşeşte valoarea 1000.

Exemplu

multimi4.inmultimi4.outExplicatie
3
A=2-8/2
C=11-23/3
B=4-16/4
A*(B+C)
2
4 8
Mulţimile au următoarele elemente: A={2, 4, 6, 8} B={4, 8, 12, 16} C={11, 14, 17, 20, 23}.
Efectuând operaţiile obţinem:
B+C={4, 8, 11, 12, 14, 16, 17, 20, 23} şi
A*(B+C)={4, 8}.
3
A=2-7/1
B=1-5/1
C=3-9/3
B*A+A*C
5
2 3 4 5 6
Mulţimile au următoarele elemente: A={2, 3, 4, 5, 6, 7} B={1, 2, 3, 4, 5} C={3, 6, 9}.
Efectuând operaţiile obţinem:
B*A={2, 3, 4, 5},
A*C={3, 6},
B*A+A*C={2, 3, 4, 5, 6}.
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?