Rezolvare PBinfo #3598

Decorative Icon Problema: Beaufort / 3598

Decorative IconAutor: Darius

Beaufort

Cifrul Beaufort este un cifre ce foloseste o matrice cu litere de marimea 26x26 iar liniile si coloanele vor avea asociata o litera (linia si coloana 1 le vom nota cu A, linia si coloana 2 cu B …, linia si coloana 26 cu Z).
Matricea se va forma asa:

  • Pe linia 1 se pun literele A, B, CZ
  • Pe linia 2 se pun literele B, C, DZ, A
  • Pe linia 3 se pun literele C, D, EZ, A, B
  • linia 4 se pun literele D, E, FZ, A, B, C
  • Pe linia 26 se pun literele Z, A, B, C, … Y
  • Cu alte cuvinte, pentru fiecare linie i (1≤i≤26), se vor lua primele i-1 litere din alfabet si se pun la sfarsitul acestuia.
  • Cifrul mai foloseste o cheie si un mesaj. Cheia o putem considera un vector C care are n litere si incepe de pe pozitia 0 iar mesajul il vom considera un vector M care incepe si el de pe pozitia 0.
  • pentru fiecare litera M[i], cautam pe coloana M[i] litera C[i%n] si afisam pe ce linie se afla, 0 ≤ i < lungimea mesajului.
Cerința
Dandu-se o cheie si un mesaj, sa se afle cum va arata mesajul dupa o codificare.
Date de intrare

Fișierul de intrare beaufort.in conține pe prima linie cheia iar pe a doua linie un mesaj.

Date de ieșire

Fișierul de ieșire beaufort.out va conține pe prima linie mesajul dupa o codificare.

Restricții și precizări
  • 1≤lungimea mesajului, lungimea cheii≤10000
Exemplul 1:

beaufort.in

FORTIFICATION
DEFENDTHEEASTWALLOFTHECASTLE

beaufort.out

CKMPVCPVWPIWUJOGIUAPVWRIWUUK
Exemplul 2:

beaufort.in

FORTIFICATION
CKMPVCPVWPIWUJOGIUAPVWRIWUUK

beaufort.out

DEFENDTHEEASTWALLOFTHECASTLE

Explicație

Matricea arata asa:

#   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
#   ---------------------------------------------------
A   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
B   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 A
C   C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D   D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E   E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F   F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G   G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H   H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I   I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J   J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K   K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L   L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M   M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N   N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O   O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P   P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q   Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R   R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S   S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T   T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U   U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V   V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W   W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X   X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y   Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z   Z 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

Pentru primul exemplu, prima pereche de litere(litera F si D), pe coloana D cautam litera F. Aceasta se afla pe linia 3 adica linia C.

Decorative Icon Explică rezolvarea folosind Inteligența Artificială

Folosește modelul nostru de AI special antrenament pentru a rezolva problemele de pe PBinfo! În baza creditelor AI primești explicații pentru probleme, pe care le alegi și le rulezi exact atunci când dorești, la un singur click distanță! Află mai multe informații:

👉 Achiziționează credite AI
Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2026 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate