.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » opmult

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
opmult


Timp maxim de execuţie / test:
0.1s
Memorie totala disponibilă / stivă:
2MB / 1MB

Un interval de numere naturale poate fi unul dintre intervalele matematice binecunoscute:
(a, b) = {x natural; a < x < b}
(a, b] = {x natural; a < x <= b}
[a, b) = {x natural; a <= x < b}
[a, b] = {x natural; a <= x <= 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 n
• Reuniune – desemnată prin litera u
• 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
{x întreg; 2 <= x <= 3 sau 8 <= x <= 9} = {2,3,8,9}

Cerinţă

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 T care reprezintă numărul de interogări. Fiecare dintre următoarele T linii conţine un număr natural y, 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 T linii, câte o linie pentru fiecare dintre cele T interogări. Pe linia i va fi scris cuvântul DA dacă pentru a i-a interogare din fişierul de intrare numărul y aparţine mulţimii rezultate în urma evaluării expresiei din interogare, respectiv cuvântul NU în caz contrar.

Restricţii

1 ≤ T ≤ 10
• 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 2000 caractere.
• Expresiile nu conţin spaţii.

Exemple

opmult.inopmult.outExplicaţii
2 6 [2,6]n[6,20] 4 (1,4)n[2,6)u[7,10)-(3,8) DA NU Există T=2 interogări.
[2,6]n[6,20] = [6,6] = {6}, deci răspunsul este DA
(1,4)n[2,6)u[7,10)-(3,8) = [2,3]u[7,10)-(3,8) =
={2,3,7,8,9}-{4,5,6,7} = {2,3,8,9}
, deci răspunsul este NU

autor: Prof. Marinel Şerban
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la ONI 2014: joc21, spion1, puteri, rascoala, stiva1, cifre5, tdrept, solitar, agenda, zimeria, monede2, betisoare, praslea, harta2, qvect, traseu3, reflex, tg
De acelaşi autor: premii, finala, fractii, trei, manevre, nrcuv, an, vopsea, opmat, tramvai, bipal, kpal, sarpe, replace, factori, barca, perechi, grupe, cod, reactii, factura, decript, trenuri, holo, cifre, firma, tribile, mesaj, tricouri, pajura, monede, programs, fry, repeat, red, pavaj, bacan, nrbinar, invest, cutie2, loc, depou, nr3, zid, felinare, sir3, sqr, carte, labirint, stea, count, evaluare, super, schimb, zaruri, vectori, spirala, desen1, rima, ceas1, romane, sms, bac, excursia, joc7, furnici, munte1, cezar, marcare, excursie1, culmi, sume1, schi, nr4, fractie, cod3, medii, tren3, top, sant1, imagine, ocr, perfect, pluton, reforma, alee, ceas2, paritate, borcane, aranjare, comoara1, culmi1, reactivi, submult, sablon1, sir8, sume2, dansatori, smith, tom, matriosca, asociativ, control1, calorii, immortal, concat, mat, cubinvers, mine, divizori, cheie, stelar, joct, minmax, cladire, adunscad, razboi, ore, oras1, sumprod, prisme, operatii1, lgdrum, unupatru, chibrituri, extraprime, prieten, rebus1, grindina, betisoare, antitero, clase, pagini, ornament, ordine, spioni1
Despre şiruri de caractere: scp, ab, sl, nrcuv, rv, kpal, chimie, reteta, replace, grad, index, cod, text, decript, spam, complex, cifre, anagrame, balbe, criptmat, mesaj, maxim, astre, sablon, formule, ed, balls, vocale, prop, bacan, novel, bitslang, text2, ref, scor2, convert, cod2, compress, pstring, sub, rima, program1, sms, circular, randuri, cezar, bifo, joc9, pal, bare, joc12, fractie, cod3, tunel, csir, top, ratina, cifru1, limbaj, adun, ecuatii, dir, paritate, virus, sir6, mesaj2, text1, sirul, ogorul, rez, sablon1, anag, sir8, seti, secvsir, dp, cuvant, strings, antipatie, fractie1, links, ordonare, text3, concat, codif, cheie, alfabetar, cuvinte2, comp, litere, mxl, mesaj3, expresie2, grad2, antic, zuma, expeval, combcuv, lgdrum, subtitrare, compresie, zigzag, azeval, fraze, subsecvente, showroom, rebus1, agenda, betisoare, reziston, clase, vot2, ecp, smiley, charlie, cript, scadere, spioni1, sablon3, expand, culori3, virgule
Chestionare recomandate
surse trimise | ajutor