Skupovi
| vreme | memorija | ulaz | izlaz |
|---|---|---|---|
| 1 s | 64 Mb | standardni izlaz | standardni ulaz |
Dat je izraz koji sadrži skupovne operacije unije, preseka i razlike, kao i opcionalne zagrade koje određu prioritet operacija. Elementi skupa mogu biti velika slova i brojevi (A do Z), a skupovi su dati kao string koji se sastoji od samih elemenata skupa. Za skupovne operacije se moze koristiti HashSet<char> koji implementira ISet<T> interfejs u kom su definisane skupovne operacije kao sto se UnionWith, IntersectWith, ExceptWith.
Napisati program koji učitava izraz i izvršava skupovne operacije, poštujući prioritete određene zagradama i ispisuje rezultat. Rezultujući skup treba da bude sortiran po abecednom redusledu.
U prvom redu standardnog ulaza dat je izraz koji treba izračunati.
Izraz se sastoji od skupovnih vrednosti, zagrada i skupovnih operacija.
Skupovne vrednosti su date prostim navođenjem elemenata skupa, bez ponavljanja, ali leksikografski poredak nije garantovan. Prazan skup je prazan string.
Operacija unije je predstavljena malim slovom 'u'.
Operacija preseka je predstavljena malim slovom 'n'.
Operacija razlike je predstavljena znakom backslash '\\'.
U prvom redu standardnog izlaza ispisati elemente rezultujućeg skupa sortiranih po ASCII poretku. Ni jedan element ne treba da se ponavlja.
Ulaz će biti pravilno formatiran.
(BACuCD)n((AB\Au)uC)
BC
Na ulazu si definisani sledeći skupovi:
s1 = ABC
s2 = CD
s3 = AB
s4 = A
s5 = Empty
s6 = C
Izraz koji treba izračunati:
(s1 ∪ s2) ∩ ((s3 \ s4 ∪ s5) ∪ s6)
Morate biti ulogovani kako biste poslali zadatak na evaluaciju.