Fișierul intrare/ieșire decript.in, decript.out Sursă .campion 2007
Autor Marinel Șerban Adăugată de avatar cip_ionescu Ciprian Ionescu cip_ionescu
Timp de execuție pe test 0.1 sec Limită de memorie 16384 KB
Scorul tău N/A Dificultate N/A

Decript

Ana si Bogdan isi trimit frecvent mesaje. Dorind ca mesajele lor sa ramana private, ei le cripteaza in 3 pasi:
1. Eliminare. Elimina din mesaj toate caracterele nealfabetice si transforma literele mici in litere mari.
2. Inlocuire. Inlocuiesc fiecare litera din mesaj cu litera situata in alfabet cu s pozitii dupa ea (1 ≤ s ≤ 25); alfabetul este considerat circular, adica dupa Z urmeaza din nou A.
3. Inversare. Sirul rezultat este impartit in segmente de cate m litere, fiecare segment fiind inversat; daca lungimea sirului nu este divizibila cu m, atunci ultimul segment va fi format din k < m litere.

De exemplu, sa consideram mesajul:
Ne vedem la ora 5 la Universitate.
1. Eliminare
NEVEDEMLAORALAUNIVERSITATE
2. Inlocuire pentru s=2
PGXGFGONCQTCNCWPKXGTUKVCVG
3. Inversare pentru m=4
GXGPNOGFCTQCPWCNTGXKCVKUGV
Mama Anei este foarte curioasa si de fiecare data “trage cu ochiul” cand Ana scrie mesaje reusind sa retina cate un cuvant din mesajul necriptat.

Cerinta

Scrieti un program care sa determine valorile s si m, cunoscand mesajul criptat si cuvantul necriptat aflat de mama Anei.

Date de intrare

Fisierul de intrare decript.in contine pe prima linie un numar natural n reprezentand numarul de caractere din textul criptat. Urmatoarele linii contin textul criptat, cate 10 grupe de cate 5 caractere pe o linie (grupele situate pe aceeasi linie fiind separate prin cate un singur spatiu). Ultima grupa ar putea contine mai putin de 5 caractere (daca n nu este divizibil cu 5). Ultima linie ar putea contine mai putin de 10 grupe. Ultima linie din fisier contine cuvantul necriptat.

Date de iesire

Fisierul de iesire decript.out va contine o singura linie pe care vor fi scrise doua numere naturale seprate prin spatiu s si m (cu semnificatia din enunt).

Restricții

  • 20 ≤ n ≤ 500
  • 1 ≤ s ≤ 25
  • 5 ≤ m ≤ 20
  • 4 ≤ lungimea cuvantului necriptat ≤ 20
  • Daca exista mai multe solutii, se alege solutia pentru care s este minim.
  • Daca exista mai multe solutii cu s minim, se alege solutia cu m minim.
  • Pentru datele de test exista intotdeauna solutie.

Exemplu

decript.in decript.out
83
FIQMF IISFN QMFIB EOPFH FNQMV PSFIU IZNGP UPEUS BFPEP PEPPE
PPEPN QMFIP EOPIS FIQMF IBSFN QMFBE OPI
RHONDA
1 6

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

Indicii de rezolvare

Arată 1 categorii