Un interval de numere naturale poate fi unul dintre intervalele matematice binecunoscute:
(a, b)
(a, b]
[a, b)
[a, b]
O mulţime de numere naturale poate fi descrisă ca o expresie formată din unul sau mai multe intervale, între oricare două intervale situate pe poziţii consecutive existând o operaţie permisă. Operaţiile permise sunt:
- Intersecţie – desemnată prin litera
- Reuniune – desemnată prin litera
- Diferenţă – desemnată prin caracterul (minus).
Intersecţia are prioritate maximă. Reuniunea şi diferenţa au aceeaşi prioritate, mai mică decât prioritatea intersecţiei. Pentru evaluarea unei expresii se efectuează operaţiile în ordinea descrescătoare a priorităţii; operaţiile cu aceeaşi prioritate se evaluează în ordine de la stânga la dreapta.
De exemplu, expresia [7,10)u(1,4)n[2,6)-(3,8) = [7,10)u[2,3]-(3,8)
are ca valoare o mulţime de numere întregi, astfel { întreg; sau } =
Dată fiind o succesiune de interogări, fiecare interogare conţinând un număr şi o expresie, să se determine răspunsul pentru fiecare interogare (DA
dacă numărul dat aparţine mulţimii rezultate în urma evaluării expresiei, respectiv NU
în caz contrar).
Date de intrare
Fişierul de intrare opmult.in
conţine pe prima linie numărul natural care reprezintă numărul de interogări. Fiecare dintre următoarele linii conţine un număr natural , urmat de un spaţiu, apoi de o expresie sub forma descrisă în enunţ, reprezentând o interogare.
Date de ieșire
Fişierul de ieşire opmult.out
conţine linii, câte o linie pentru fiecare dintre cele interogări. Pe linia va fi scris cuvântul DA
dacă pentru a i-a interogare din fişierul de intrare numărul aparţine mulţimii rezultate în urma evaluării expresiei din interogare, respectiv cuvântul NU
în caz contrar.
Restricții și precizări
- Capetele intervalelor, precum şi numerele din interogări sunt numere naturale din intervalul
[1,255]
. - Lungimea unei expresii din fişierul de intrare este de maxim caractere.
- Expresiile nu conţin spaţii.
- Fiecare linie din fişierele de intrare şi de ieşire se termină cu caracterul sfârşit de linie.
Exemplu
opmult.in
2
6 [2,6]n[6,20]
4 (1,4)n[2,6)u[7,10)-(3,8)
opmult.out
DA
NU
Explicație
Există interogări.
[2,6]n[6,20]
= [6,6]
= , deci răspunsul este
(1,4)n[2,6)u[7,10)-(3,8)
= [2,3]u[7,10)-(3,8)
= , deci răspunsul este