Fișierul intrare/ieșire | criptic.in, criptic.out | Sursă | Cerc informatică Vianu |
---|---|---|---|
Autor | Cristian Frâncu | Adăugată de | Cristian Frâncu • francu |
Timp de execuție pe test | 0.5 sec | Limită de memorie | 10240 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile 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.in | criptic.out | Explicaț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 |