Aşa cum ştim, lui
Gigel îi place să se joace cu cifrele şi cu literele. De data asta a "inventat"
o nouă metodă de criptare a mesajelor pe care vrea să le transmită prietenului
său, Ionel. Metoda lui se bazează pe înlocuirea literelor alfabetului cu alte
litere conform unei chei de criptare.
Astfel el stabileşte un cuvânt cheie, format din maxim 26 litere mari
distincte.
Construieşte apoi un tabel cu 26
poziţii şi pune cuvântul cheie într-o poziţie oarecare k
din tabel. Poziţia aceasta o numeşte poziţie cheie.
În continuarea cuvântului cheie pune, în ordine, literele alfabetului care nu
apar în cuvântul cheie, având grijă ca atunci când a ajuns la poziţia 26
să continue cu poziţia 1 din
tabel. Gigel obţine astfel cheia de criptare formată din 26
caractere. De exemplu, pentru cuvântul cheie IONESCU
şi poziţia cheie k=9 în care
acesta se pune în cheia de criptare se obţine:
Q
R
T
V
W
X
Y
Z
I
O
N
E
S
C
U
A
B
D
F
G
H
J
K
L
M
P
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Acum codificarea
este simplă. Fiecare literă din cheia de criptare corespunde unei litere din
alfabet, deci Gigel ia fiecare literă a mesajului pe care vrea să-l transmită,
o caută în alfabet şi o înlocuieşte cu litera corespunzătoare din cheia de criptare.
Cerinţă
Fiind dat cuvântul cheie, poziţia cheie în care acesta se pune în cheia de criptare
şi un text criptat având mai multe linii, să se realizeze decriptarea textului
respectiv.
Date de intrare
Fişierul de intrare mesaj.in
conţine pe prima linie cuvântul cheie. Pe linia a doua se găseşte poziţia cheie.
Următoarele linii conţin textul criptat, fiecare linie având maxim 255
caractere.
Date de ieşire
Fişierul de ieşire mesaj.out
conţine textul decriptat, fiecare linie din text corespunzând liniei respective
din mesajul criptat.
Restricţii şi
precizări
- liniile textului au maxim 255
caractere
- textele sunt formate doar din litere mari ale alfabetului englez
- cuvântul cheie are maxim 26
litere
- poziţia cheie este un număr natural k,
1 <= k <= 26
- cheia de criptare are exact 26
caractere, litere mari ale alfabetului englez