Atenție! Aceasta este o versiune veche a paginii., scrisă la 2016-03-02 17:00:58.
Revizia anterioară   Revizia următoare  

Fișierul intrare/ieșire mesaj1.in, mesaj1.out Sursă ONI 2011 clasa a 7-a
Autor Florin Moldovanu Adăugată de avatar calingeorgescu Calin Stefan Georgescu calingeorgescu
Timp de execuție pe test 1 sec Limită de memorie 5120 KB
Scorul tău N/A Dificultate N/A
open book Poți vedea testele pentru această problemă accesând atașamentele .

Mesaj1 (clasa a 7-a)

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:
1. aleg împreună un cuvânt s numit cheie format din p litere diferite două câte două;
2. î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;
3. scriu pe foaie cuvântul cheie ales;
4. sub cuvântul cheie ales se scriu secvențele de lungime p determinate anterior, în ordinea obținerii lor;
5. mesajul codificat se obține astfel:
i) se parcurge tabelul obținut anterior, pe coloane, de sus în jos;
ii) 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 mesaj1.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;
- pe a patra linie mesajul codificat.

Date de ieșire

Fișierul de ieșire mesaj1.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 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.
• Se acordă punctaje parțiale:
 20% pentru afișarea valorii corecte pe prima linie a fișierului mesaj1.out (cerința a)
 80% pentru afișarea corectă a mesajului pe linia a doua a fișierului mesaj1.out (cerința b)

Exemplu

mesaj1.in mesaj1.out
8
COMPUTER
44
SAAO T PTDMCOAANCU DNIICL LFALIIEASMA REINAO
F
SUCCES LA OLIMPIADA NATIONALA DE INFORMATICA

Explicație

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:
C O M P U T E R
S U C C E S L
A O L I M P I
A D A N A T I
O N A L A D E I N F O R M A
T I C A
Litera cerută este F și mesajul codificat este SAAO T PTDMCOAANCU DNIICL LFALIIEASMA REINAO

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

Indicii de rezolvare

Arată 2 categorii