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

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


Timp maxim de execuţie / test:
1.4s
Memorie totala disponibilă / stivă:
32MB / 16MB

Un showroom din Strasbourg comercializează o gamă foarte mare de modele de autoturisme, aşezate pe n linii. Pe câte o linie se găsesc numai modele de autoturisme comercializate de acelaşi dealer. Un dealer poate avea modele pe mai multe linii. Parlamentul European doreşte să-şi înnoiască parcul auto şi trimite responsabilul cu activitatea de transport la showroom pentru a se informa cu privire la variantele pe care le are pentru rezolvarea acestei probleme de achiziţie. Responsabilul trebuie să aleagă de la primul dealer f1 modele, de la al doilea dealer f2 modele, etc. Şirul de numere f1, f2, f3, ... reprezintă termenii modulo k ai unei progresii aritmetice cu primul termen a şi raţia r. Dacă valoarea din şirul de numere este mai mare decât numărul de modele al dealerului corespunzător, atunci responsabilul nu mai alege niciun model al dealerului. Primul dealer este cel care are modelele pe prima linie şi, eventual, pe alte linii care urmează primei linii (dar nu neapărat consecutive!), al doilea dealer este cel care are modelele pe prima linie ce conţine modele diferite de cele ale primului dealer etc.

Cerinţă

Să se scrie un program care determină:
a) Numărul de dealeri prezenţi în showroom;
b) Numărul de modalităţi de achiziţie a modelelor de către Parlamentul European, modulo 9001.

Date de intrare

Fişierul de intrare showroom.in conţine pe prima linie numerele n a r k separate prin exact un spaţiu, cu semnificaţia de mai sus, iar pe următoarele n linii se află denumirile modelelor din enunţ, separate prin unul sau mai multe spaţii. Fiecare linie se termină cu caracterul sfârşit de linie.

Date de ieşire

Fişierul de ieşire showroom.out va conţine pe prima linie numărul cerut la subpunctul a), iar pe a doua linie numărul cerut la subpunctul b).

Restricţii

1 ≤ n ≤ 500
1 ≤ a, r, k ≤ 10000
• Denumirea unui model are cel mult 20 de litere mici şi/sau cifre.
• Pe o linie sunt cel mult 100 de denumiri de modele şi nu pot exista mai mult de 10 spaţii între două modele.
• • Pot exista linii cu numerele de ordine I1, I2, … , Ip cu modele ale aceluiaşi dealer, astfel încât perechile de linii (I1, I2) , … , (Ip-1, Ip) au cel puţin un model de maşină în comun.
• Pentru rezolvarea corectă a fiecarei cerinţe se acordă 50% din punctaj.
• Acordarea punctajului pentru a doua cerinţă se face numai dacă în fişierul de ieşire există un răspuns pentru prima cerinţă, indiferent de corectitudinea acestuia.
• Pentru 60% din teste se garantează că valoarea k este mai mică sau egală decât 10.

Exemple

showroom.inshowroom.outExplicaţii
6 1 2 3 logan duster logan peugeot207 peugeot307 sandero sandero opelcorsa opelastra opelcorsa peugeot207 sandero duster 3 3 La showroom sunt 3 dealeri.
Dealerul 1: logan, duster, sandero.
Dealerul 2: peugeot207, peugeot307.
Dealerul 3: opelcorsa, opelastra.
Primii trei termeni din progresia aritmetică sunt 1, 3, 5.
f1=1 modulo 3 = 1; f2 =3 modulo 3 = 0; f3=5 modulo 3 = 2.
Modalităţile de achiziţie ale modelelor de la dealerul 1, a niciunui model de la dealerul 2 şi a două modele de la dealerul 3 sunt următoarele:
logan, opelcorsa, opelastra;
duster, opelcorsa, opelastra;
sandero, opelcorsa, opelastra.

autor: Prof. Doru Popescu Anastasiu
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la ONI 2013: split, momente, gradina1, secvente2, flori2, romb1, cumpanit, spider, zone, taxa, ausoara, drumuri2, confuzie, xnumere, bemo, aranjare2, cntgcd
De acelaşi autor: degrade, hora, noroc, test, tren, grad, palma, cs, h, vagoane, scaune, tir, nrcuv2, piata, vocale, prop, poligon, text2, onu2, creioane, exp, donald, young, albine, turn, linie, tub, suma1, triunghi, cod1, pic, zuzu, pav, prieteni1, banda10, numar2, prime1, ziduri, puncte2, texan, part, ucif, numere7, mare, furnica, pavare, cifre3, domino, exp1, coduri, efort, prodmax, char, dartz, operatii, jucarii, cd1, codif, bileprime, echipa, covor, pavari, parcela, grad1, ec, stalpi2, grad2, testament, nrpomi, elicop, triburi1, cartite
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, rebus1, agenda, opmult, betisoare, reziston, clase, vot2, ecp, smiley, charlie, cript, scadere, spioni1, sablon3, expand, culori3, virgule
Despre combinatorică: manevre, carti, bonuri, test, cub, nspecial, circuit, numere, cs, pluricex, parent, gray, siruri, anagrame, party, net, scaune, sir, monede, aztec, nrcuv2, perm, race, hanoig, red, grup, hperm, depou, grazing, pm, reteta2, playlist, young, pizza1, albine, caramele, teatru1, tub, robot1, sir23, soldati1, concurs1, comb, expresii, arbnr, cod1, munte, shgraf, desc, lex, munte1, maxperm, role, avere, vizibil, prime1, hexa, patrat, carti2, puncte2, pact, aranjari, numere5, borg, acolor, sg1, perfect, cifru2, bile4, pviz, culmi1, piramida1, trapez, frunze, sir7, logic, coduri, jetoane, kperms, tablite, secvpar, lego, permutari, binperm, multiplu1, operatii, fotbal, kbiti, jucarii, bradut, expozitie, parbit, kmax, petrecere, tango, rege, cd1, cifru3, kcons, bubblesort, hawaii, randomizare, kdist, reuniune, echipa, ghinion, cavaleri, camera616, covor, subm, grupuri, pavari, asfalt, adunscad, rotund, sport2, arbore1, lant1, module, nrperm, oneton, nrpomi, cover1, nrpal, probleme, optim, poly, vot1, sudoku1, flori2, xnumere, cntgcd, subsets, nkd, nrgraf, spion1, puteri, stiva1, permtr, relatii, 2sah, matcnt, magic7, nmult, roua
Chestionare recomandate
surse trimise | ajutor