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

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


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

Rail Fence Cipher, cunoscut sub numele de cifru zig-zag, este o metodă de codificare a mesajelor folosind un caroiaj în care textul este scris începând din colţul stânga-sus, diagonal de sus în jos, iar apoi, după ce s-a scris caracterul de pe ultima linie, se continuă, diagonal de jos în sus, ca în exemplu. Numărul de linii ale caroiajului este cheia de codificare. După ce textul a fost scris în acest mod, mesajul codificat se obţine parcurgând liniile de sus în jos şi preluând de pe fiecare linie toate caracterele de la stânga la dreapta.
Dacă vrem să codificăm textul ”OLIMPIADA DE INFORMATICA”, cu cheia de codificare 6, atunci se procedează astfel:
1. Se scrie textul în zigzag în caroiaj



2. Se iau caracterele pe linii şi se formează mesajul codificat: ODTL EAIIA MCMDIRAPANOIF

Cerinţă

Scrieţi un program care citeşte cheia de codificare şi un text codificat şi determină mesajul decodificat.

Date de intrare

Pe prima linie a fişierului zigzag.in se află două numere naturale c şi n, separate printr-un spaţiu, unde c reprezintă cheia de codificare, iar n numărul de caractere ale mesajului. Pe următoarea linie se află un şir format din n caractere ce reprezintă mesajul codificat.

Date de ieşire

Fişierul zigzag.out va conţine o singură linie, pe care se află mesajul decodificat.

Restricţii

• 1<c<5000
• 1<n<50000
• În mesaj sunt doar caractere cu codul ASCII mai mic decât 127 şi mai mare decât 31.

Exemple

zigzag.inzigzag.out
6 24 ODTL EAIIA MCMDIRAPANOIF OLIMPIADA DE INFORMATICA

autor: Prof. Daniel Popa
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la ONI 2012: culegere, culori2, stele1, cartier, medalion, numar5, bile6, proiecte, alune, cuburi4, optim, cifreco, patru, puncte5, unuzero, sstabil, palindrom1, intersectii, copaci2, 7segmente, amedie, cutie1, drept2, gheizere, plus, poly, minerale
De acelaşi autor: aritma, tabel, cifre2, taxe1, materom, snipers, palindrom, zimeria, pavare1
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, azeval, fraze, subsecvente, showroom, rebus1, agenda, opmult, betisoare, reziston, clase, vot2, ecp, smiley, charlie, cript, scadere, spioni1, sablon3, expand, culori3, virgule
Despre matrice: vopsea, harta, opmat, sarpe, light, magic2, tetris, origami, concurs, iepuras, tribile, criptmat, cutie, patrate, 3d, pajura, perspic, vecini2, livada, matrice3, kafka, erdos, grup, scor2, reteta2, rezervatie, scoici, tablou, game, stea, submatrix, cifru, jokes, oua, trecere, na, dotnet, renju, ghici, mere1, agitatie, lacuri, sotron, desen1, camion, ceas1, fibo, parc, excursia, matricea, zidar, joc6, log, concurs2, cladiri, dist, centru, robinson, cuburi2, joc8, joc9, romeo, adevar, soricel2, avere, joc11, vizibil, sah1, blockout, masina3, lsort, anticip, matrice1, evantai, spion, pereti, zumzi, roboti, placare, tabel, ocr, numere7, lacusta, becuri, sir5, flori, cartele, furnica, pavare, poarta, rj, peri, poligon2, sablon1, gradina, matrice4, poartas, balcon, submdisj, v, matrx, figura, neuroni, raze, roboti1, bila, iepurasi, colorare, mat, submatrix1, simetric1, plaja, xor2, guess, albine1, joct, alfabetar, stele, tablou1, alpinist, cladire, cri, grupe2, el, mahjong, sir9, acces, tort1, joc17, mesaj3, zar1, xy, poteci, avioane, broscute, safeu, acoperire1, radioactiv, robot4, lcdr, jb, slide, maxtri, dame, triunghi4, elicop, compresie, mijloc, cubulete, romb, medalion, bile6, puncte5, intersectii, matd3, matrixdel, speed, seif1, traseu2, incadrare, betasah, zona, latin, zmax, amestec, sudoku1, gradina1, spider, zone, bemo, rombul, interclasare, rebus1, tabla, arrows, pseudobil, patrat1, rascoala, harta2, relatii, lasere, defrag, matcnt, ssdj, cript, ssk, teren1, fence, cifre6
Chestionare recomandate
surse trimise | ajutor