== include(page="template/taskheader" task_id="zigzag") ==
Poveste și cerință...
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:
!problema/zigzag?zigzag.jpg!
# Se scrie textul în zigzag în caroiaj
# Se iau caracterele pe linii și se formează mesajul codificat: ODTL EAIIA MCMDIRAPANOIF
h2. Cerință
Scrieți un program care citește cheia de codificare și un text codificat și determină mesajul decodificat.
h2. Date de intrare
Fișierul de intrare $zigzag.in$ ...
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.
h2. Date de ieșire
În fișierul de ieșire $zigzag.out$ ...
Fișierul de ieșire $zigzag.out$ va conține o singură linie, pe care se află mesajul decodificat.
h2. 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.
h2. Exemplu
table(example).
|_. zigzag.in |_. zigzag.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicație
...
| 6 24
ODTL EAIIA MCMDIRAPANOIF
| OLIMPIADA DE INFORMATICA
|
== include(page="template/taskfooter" task_id="zigzag") ==
== include(page="template/taskfooter" task_id="zigzag") ==