Fișierul intrare/ieșire criptic.in, criptic.out Sursă Cerc informatică Vianu
Autor Cristian Frâncu Adăugată de avatar francu Cristian Frâncu francu
Timp de execuție pe test 0.5 sec Limită de memorie 10240 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 .

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

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

Indicii de rezolvare

Arată 4 categorii