Fișierul intrare/ieșire | zigzag.in, zigzag.out | Sursă | ONI 2012 clasa a 7-a |
---|---|---|---|
Autor | Daniel Popa | Adăugată de |
|
Timp de execuție pe test | 0.1 sec | Limită de memorie | 2048 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
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:
- Se scrie textul în zigzag în caroiaj
- 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.in | zigzag.out |
---|---|
6 24 ODTL EAIIA MCMDIRAPANOIF |
OLIMPIADA DE INFORMATICA |