Fișierul intrare/ieșire romb.in, romb.out Sursă Cerc informatică Vianu
Autor Cristian Frâncu Adăugată de avatar francu Cristian Frâncu francu
Timp de execuție pe test 1.2 sec Limită de memorie 1230 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip emptystea de rating de tip emptystea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Romb (clasa a 6-a)


În lupta continuă a Alianței contra Hoardei de orci comunicarea criptată este o armă de bază. Alianța schimbă metodele de criptare lunar, deoarece goblinii reușesc de fiecare dată să o spargă. Speranța Alianței stă în ultima metodă inventată de lordul Uther, care are la bază amestecarea de litere în plus în mesajul codificat. Mare greșeală! Ei nu știu că Thrall, șeful Hoardei v-a angajat pe voi să spargeți criptarea. După o muncă asiduă și susținută v-ați dat seama care este schema de decodificare: se folosește o tabelă de n x n căsuțe care constituie cheia de decodificare. Apoi se aranjează caracterele textului de decodificat pe diagonale, precum în figură. La final se suprapune cheia (tabela) si se ia numai mesajul din interiorul ei. Figura prezintă decodificarea pentru o cheie de mărime n = 5. Cheia de decodificare are întotdeauna o dimensiune impară.

Cerință

Dat un text codificat să se decodifice.

Date de intrare

Fișierul romb.in conține pe prima linie dimensiunea cheii, n. Pe a doua linie conține mesajul codificat.

Date de ieșire

Fișierul romb.out va conține mesajul decodificat așa cum apare el în tabela cheie, respectiv n linii a cîte n caractere fiecare.

Restricții

  • 3 ≤ n ≤ 1001, n impar.
  • Mesajul codificat conține numai litere mari, litere mici, cifre si spații.
  • Lungimea mesajului codificat este de maxim 2002001 caractere.

Exemplu

romb.in romb.out
5
ABDCDEEAFXVZCYLIIAEENCVBETUZISEMNNTOPQERS
DACAV
EZICU
VINTE
LEEST
EBINE

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 3 categorii