Maria şi Ionuţ doresc să comunice între ei prin bileţele. Pentru ca mesajele lor să nu fie înţelese şi de ceilalţi colegi, ei se hotărăsc să le codifice. Pentru a codifica un mesaj, Maria şi Ionuţ procedează astfel:
• aleg împreună un cuvânt s numit cheie format din p litere diferite două câte două;
• împart mesajul pe care doresc să-l transmită între ei în secvenţe de caractere alăturate de lungime p, cu excepţia ultimei secvenţe care poate avea mai puţin de p caractere;
• scriu pe foaie cuvântul cheie ales;
• sub cuvântul cheie ales se scriu secvenţele de lungime p determinate anterior, în ordinea obţinerii lor;
• mesajul codificat se obţine astfel:
o se parcurge tabelul obţinut anterior, pe coloane, de sus în jos;
o ordinea de parcurgere a coloanelor este ordinea alfabetică a literelor din cuvântul cheie.
Cerinţă
Scrieţi un program care să determine litera din mesajul codificat care apare de cele mai puţine ori, iar dacă sunt mai multe astfel de litere, prima dintre acestea în ordine alfabetică şi să realizeze decodificarea unui mesaj codificat în modul prezentat anterior.
Date de intrare
Fişierul de intrare mesaj3.in conţine pe prima linie numărul p de caractere din cheie, pe a doua linie cuvântul cheie ales de Maria şi Ionuţ, pe a treia linie numărul n de caractere din mesajul codificat, iar pe a patra linie mesajul codificat.
Date de ieşire
Fişierul de ieşire mesaj3.out va conţine pe prima linie litera din mesajul codificat care apare de cele mai puţine ori în mesajul codificat; dacă sunt mai multe astfel de litere, prima dintre acestea în ordine alfabetică. Pe a doua linie va fi scris mesajul decodificat.
Restricţii
• Cuvântul cheie conţine numai litere mari ale alfabetului englez (A, B, C,...,Z) şi are maxim 26 de litere;
• Mesajul codificat conţine litere mari ale alfabetului englez, cuvintele sunt separate prin unul sau mai multe spaţii;
• Lungimea mesajului codificat nu depăşeşte 2000 de caractere.
Explicaţie pentru exemplu
Maria şi Ionuţ aleg cuvântul cheie COMPUTER
Mesajul pe care doresc să-l codifice este SUCCES LA OLIMPIADA NATIONALA DE INFORMATICA
Tabelul obţinut este următorul:
Litera cerută este F şi mesajul codificat este SAAO T PTDMCOAANCU DNIICL LFALIIEASMA REINAO
Exemple
mesaj3.in
mesaj3.out
8
COMPUTER
44
SAAO T PTDMCOAANCU DNIICL LFALIIEASMA REINAO