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

Vezi solutiile trimise | Statistici

Criptic (clasa a 7-a)

Pentru a coda un mesaj în codul criptic vom asocia fiecărui caracter din mesaj un număr de ordine în baza 62. În această bază cifrele sînt, în ordinea valorii:

012...9abcd...zABCD...Z

De exemplu numărul 146(10) este 2m(62). Aceste numere de ordine sînt asociate astfel încît dacă afişăm caracterele în ordinea numerelor de ordine vom obţine mesajul original. Numerele de ordine nu sînt neapărat unice. Dacă două caractere au acelaşi număr de ordine ele vor apărea în mesajul codificat în ordine inversă faţă de mesajul original.

Cerinţă

Dat un mesaj codificat să se decodifice.

Date de intrare

Fişierul de intrare criptic.in conţine un număr de linii. Fiecare linie va începe cu un număr de ordine, urmat de un singur spaţiu şi apoi de caracterul din mesaj.

Date de ieşire

Fişierul de ieşire criptic.out va conţine o singură linie cu mesajul decodificat. Caracterele mesajului vor fi scrie fără spaţii între ele.

Restricţii

  • 1 ≤ numărul de linii la intrare ≤ 1000000
  • 0 ≤ numerele de ordine la intrare ≤ 3843(10)
  • caracterele din mesaj sînt caractere ASCII tipăribile, fără spaţii (coduri mai mari strict decît 32 şi mai mici decît 127)

Exemplu

criptic.incriptic.outExplicaţii
b0 l
Cr d
b0 l
m4 r
b0 e
m4 o
aZ h
m4 w
Cr l
m4 o
helloworld
Dacă ordonăm caracterele după numărul de ordine, avînd grijă să punem numerele
egale în ordine inversă faţă de cum apar în codificare, obţinem:
aZ h
b0 e
b0 l
b0 l
m4 o
m4 w
m4 o
m4 r
Cr l
Cr d
Trebuie sa te autentifici pentru a trimite solutii. Click aici