Fişierul intrare/ieşire:zigzag.in, zigzag.outSursăONI 2012 clasa a 7-a
AutorDaniel PopaAdăugată defrancuCristian Francu francu
Timp execuţie pe test0.1 secLimită de memorie2048 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

Zigzag (clasa a 7-a)

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 de ieşire 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.

Exemplu

zigzag.inzigzag.out
6 24
ODTL EAIIA MCMDIRAPANOIF
OLIMPIADA DE INFORMATICA
Trebuie sa te autentifici pentru a trimite solutii. Click aici