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

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


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

La o bancă se află n seifuri, ale căror coduri de acces secrete sunt numere naturale (să notăm cu s=s1, s2, ..., sn şirul codurilor de acces). Datorită producerii unui incident, au fost făcute publice nişte coduri asemănătoare cu codurile secrete (să notăm cu c= c1, c2 ,.., cp şirul codurilor asemănătoare). Din motive de creştere a securităţii seifurilor, se decide modificarea codurilor s1, s2, ..., sn, utilizând codurile c1, c2, ..., cp, în modul următor.
Pentru fiecare cod si se stabileşte un cod din şirul ck denumit cod asociat, astfel:
– codul si se poate asocia cu codul ck dacă cel puţin jumătate dintre cifrele lui si sunt conţinute de ck, în cazul în care numărul de cifre al codului si este par şi cel puţin jumătate +1 din cifrele lui si sunt conţinute de ck, în cazul în care numărul de cifre ale codului si este impar;
– dacă pentru un cod si există mai multe coduri ce pot fi asociate cu el din şirul c, se va alege codul care conţine cel mai mare număr de cifre comune cu si;
– dacă există mai multe coduri ck care au acelaşi număr maxim de cifre comune cu codul si, se va alege primul dintre ele (cel cu indicele cel mai mic).
Codul si se transformă într-un nou număr natural ti, obţinut astfel:
– se elimină din si toate cifrele comune cu ck ales;
– se formează cel mai mare număr cu toate cifrele rămase după eliminare şi acesta va fi ti; dacă ti obţinut este mai mic decât 12345, se adună cu numărul 12345.

Cerinţă

Scrieţi un program care determină şirul de coduri t1, t2, ..., tn, obţinut prin transformarea codurilor iniţiale s1, s2, ..., sn, pe baza şirului c1, c2, ..., cp.

Date de intrare

Fişierul de intrare cod4.in conţine pe prima linie numerele n şi p separate printr-un spaţiu, pe a doua linie n numere ce reprezintă codurile din şirul s şi pe a treia linie p numere ce reprezintă codurile din şirul c.

Date de ieşire

Fişierul de ieşire cod4.out conţine pe o singură linie şirul de numere t1 t2 ... tn separate între ele prin câte un spaţiu.

Restricţii

1 < n, p <= 100
Codurile din şirul s sunt distincte între ele şi fiecare cod conţine cel puţin 5 cifre distincte.
12345 <= si, ck <= 2 100 000 000, 1<= i<= n,1 <= k <= p

Exemple

cod4.incod4.out
4 5 134925 32960 18542 195633 305285 3067583 20375 29785 213198 12399 12441 12386 12436

autor: Prof. Silvia Grecu
propunător: Prof. Marinel Şerban
Liceul de Informatică “Grigore Moisil”
marinel_serban@yahoo.com
Probleme recomandate
De la OMI Iaşi 2005: cuburi3, cutii, imagine
De acelaşi autor: muguri, izvor
Despre vector: trei, simetric, egal, ruleta, pod, uscat, afise, an, bunici, cursa, onu, tramvai, cadou, kpal, expresie, piticot, roci, petrol, grad, ruleta2, ecran, palma, concurs, holo, ab2, tren2, cifre, mgo, firma, anagrame, joc2, br, maxim, astre, numere2, baby, zapada, hd, startrek, vecini2, drept, teatru, tir, patrate2, nr, cifra, repeat, unu, criptare, ratb, placi, sume3, turist, matrice3, pavaj, sume, kafka, bacan, spair, grup, friends2, bitslang, fisc, scor2, cat, nr3, chimie2, zid, politics, submat, reteta2, rezervatie, creioane, felinare, 2numere, exp, scoici, patrate1, playlist, sqr, carte, oua, turn, ants, div3, jeton, politic, trecere, maraton, zaruri, suma1, mere1, agitatie, lacuri, secv, sotron, triunghi, carti1, spioni, kalah, excursia, matricea, maxq, oras, furnici, baschet, ingerasi, numar1, prieteni, aritma, cezar, bifo, pal, seceta, bare, soricel1, antena, avere, paianjen, bloc, schi, suma3, fractie, tunel, pepsi, prefix, tren3, avion, premii1, csir, top, bsir, secvente, cuburi3, limbaj, panouri, sant1, zumzi, sport1, baschet1, mere3, powerpuff, placare, sir4, volei1, tabel, ocr, numere7, lacusta, flori, pluton, elfi, mare, grupe1, maroco, cartonas, cabina, case, cod5, furnica, numere8, paritate, comoara1, exponent, control, exp1, joc13, popas, reactivi, siruri1, vanatoare, submult, text1, taxe1, visul, paranteze, puncte3, cub3, numere9, panglica, pietre, poartas, sume2, bal, secvsir, vot, prefix1, accesibil, palc, standard, bursa, meteo, jetoane, printesa, palindrom, joker, matriosca, loto, cuvant, cladiri1, secvente1, zar, tren4, asociativ, lego, medalii, figura, joc14, neuroni, char, dartz, turism1, calorii, xor1, paltrei, album, livada1, colorare, greutati, brazi, submatrix1, plaja, cd1, cifru3, permutare, miere, tetris1, conferinta, atelier, radical, bileprime, nx, atletism, sumb, minmax, sumacifre, jocprim, sircifre, cmmdcsecv, secvb, siruri3, cifru4, vase, carte1, grad1, litere, magic6, macheta, butoane, ec, stalpi2, fagure, goe, papusa, taburet, mesaj3, zar1, joc16, talent, joc18, cos, punctfix, risipa, liste, triburi, nr0, oneton, nor, nrpomi, paisprezece, anagramabil, zuma, joc20, dale, perechi2, consiliu, becuri2, codpatrat, adprod, qtri, reconst, arme, triunghi4, deal, ozn1, cifru5, flori1, elicop, roata, trifoi, maxbin, culori2, numar5, bile6, proiecte, alune, cuburi4, sstabil, intersectii, copaci2, 7segmente, amedie, drept2, divider, eliminare, matd3, prodnr, fraze, vectori1, compar, unific, galbeni, clepsidru, calcule, puncte6, maxp, cursa1, secvp, swap, extraprime, onigim, divizori1, remi1, tetris3, amestec, eoliene, split, momente, secvente2, ausoara, aranjare2, vintage, binremove, sminus, subsets, interclasare, palindromuri, colina, doitrei, rebus1, tcif, munte3, triunghi6, schi1, rascoala, solitar, praslea, vot2, tema, sprime, sir2dif, aperm, unudoi, prajituri, tan, concurs4, ech, arc, dominant, ordine, tv1, nebuni, sort2dist, lightbot, iepuras1, castig
Despre cifre: cifre1, div3, aparitii, numar1, prieteni, robinson, aritma, cezar, pal, suma2, powerpuff, ucif, sir4, numere6, pluton, mare, cifre2, ceas2, cod5, paritate, test1, comoara1, cifre3, concurs3, control, submult, visul, codul, numere9, sume2, smith, secvsir, prefix1, fazanr, prodmax, palindrom, control1, paltrei, alo, cifra1, case1, pin, sumacifre, triplu, goe, talent, copii, cifre4, nr0, anagramabil, codcorect, test2, bancomat, sume4, alice, culegere, numar5, cuburi4, cifreco, 7segmente, unupatru, xyz, unific, galbeni, cladiri2, extraprime, momente, palindromuri, conturi, numere12, imprimanta, martisoare, cifre5, pagini, tan, centrale, ech, speciale, cuart, inventie, robot5
surse trimise | ajutor