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

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


Timp maxim de executie/test:
0.1 secunde
Memorie totala disponibila/stiva:
16 MB/1 MB

Ana si Bogdan isi trimit frecvent mesaje. Dorind ca mesajele lor sa ramana private, ei le cripteaza in 3 pasi:
1. Eliminare. Elimina din mesaj toate caracterele nealfabetice si transforma literele mici in litere mari.
2. Inlocuire. Inlocuiesc fiecare litera din mesaj cu litera situata in alfabet cu s pozitii dupa ea (1<=s<=25); alfabetul este considerat circular, adica dupa Z urmeaza din nou A.
3. Inversare. Sirul rezultat este impartit in segmente de cate m litere, fiecare segment fiind inversat; daca lungimea sirului nu este divizibila cu m, atunci ultimul segment va fi format din k<m litere.

De exemplu, sa consideram mesajul:
Ne vedem la ora 5 la Universitate.
1. Eliminare
NEVEDEMLAORALAUNIVERSITATE
2. Inlocuire pentru s=2
PGXGFGONCQTCNCWPKXGTUKVCVG
3. Inversare pentru m=4
GXGPNOGFCTQCPWCNTGXKCVKUGV
Mama Anei este foarte curioasa si de fiecare data "trage cu ochiul" cand Ana scrie mesaje reusind sa retina cate un cuvant din mesajul necriptat.

Cerinta
Scrieti un program care sa determine valorile s si m, cunoscand mesajul criptat si cuvantul necriptat aflat de mama Anei.

Date de intrare
Fisierul de intrare decript.in contine pe prima linie un numar natural n reprezentand numarul de caractere din textul criptat. Urmatoarele linii contin textul criptat, cate 10 grupe de cate 5 caractere pe o linie (grupele situate pe aceeasi linie fiind separate prin cate un singur spatiu). Ultima grupa ar putea contine mai putin de 5 caractere (daca n nu este divizibil cu 5). Ultima linie ar putea contine mai putin de 10 grupe. Ultima linie din fisier contine cuvantul necriptat.

Date de iesire
Fisierul de iesire decript.out va contine o singura linie pe care vor fi scrise doua numere naturale seprate prin spatiu s si m (cu semnificatia din enunt).

Restrictii
20 <= n <= 500
1 <= s <= 25
5 <= m <= 20
4 <= lungimea cuvantului necriptat <= 20
Daca exista mai multe solutii, se alege solutia pentru care s este minim.
Daca exista mai multe solutii cu s minim, se alege solutia cu m minim.
Pentru datele de test exista intotdeauna solutie.

Exemplu

decript.in decript.out

83
FIQMF IISFN QMFIB EOPFH FNQMV PSFIU IZNGP UPEUS BFPEP PEPPE
PPEPN QMFIP EOPIS FIQMF IBSFN QMFBE OPI
RHONDA

1 6

prof. Marinel Serban
Liceul de Informatica "Grigore Moisil" Iasi
Contact: marinel_serban@yahoo.com


propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la .campion 2007: perechi, teanc, index, light, copaci, teren, pizza, grupe, cod, ecran, drum, soldati, factura, palma, lbd, aven, cs, h, trenuri, sort, spam, complex, parent, holo, tren2, gray, siruri, arce, pasi, cifre, mgo, firma, joc, cartonase, vikingi, anagrame, balbe, vecini, balaur, tribile, conflicte, criptmat, mesaj, maxim, magic3, desen, plimbare, cutie, patrate, party, vagoane, robot, astre, trains, numere2, friends, tricouri, furtuna, net, baby, scaune, 3d, axa, bile2, vmem, pahare, termen, sablon, zapada, cuvinte, excursie, hd, pajura, pc, sir, cadere, pioni
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, 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, opmult, betisoare, antitero, clase, pagini, ornament, ordine, spioni1
Despre şiruri de caractere: scp, ab, sl, nrcuv, rv, kpal, chimie, reteta, replace, grad, index, cod, text, 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, opmult, betisoare, reziston, clase, vot2, ecp, smiley, charlie, cript, scadere, spioni1, sablon3, expand, culori3, virgule
Chestionare recomandate
surse trimise | ajutor