Fişierul intrare/ieşire:romb.in, romb.outSursăCerc informatică Vianu
AutorCristian FrancuAdăugată defrancuCristian Francu francu
Timp execuţie pe test1.2 secLimită de memorie1230 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

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.inromb.out
5
ABDCDEEAFXVZCYLIIAEENCVBETUZISEMNNTOPQERS
DACAV
EZICU
VINTE
LEEST
EBINE
Trebuie sa te autentifici pentru a trimite solutii. Click aici