Szyfr polialfabetyczny do szyfrowania używa wielu alfabetów szyfrowych. Kolejne znaki tekstu jawnego szyfrowane są przy pomocy kolejnych dostępnych alfabetów szyfrowych - po wykorzystaniu wszystkich alfabetów ponownie używany jest pierwszy albabet szyfrowy.
Niech dane będzie słowo klucz, które posłuży do otrzymania alfabetów szyfrowych w następujący sposób:
KLUCZ = WIOSNA pierwsze litery każdego z alfabetów tworzą słowo kluczowe --------------------------------------- ALFABRET 1 = WABCDEFGHIJKLMNOPQRSTUVXYZ ALFABRET 2 = IABCDEFGHJKLMNOPQRSTUVWXYZ ALFABRET 3 = OABCDEFGHIJKLMNPQRSTUVWXYZ ALFABRET 4 = SABCDEFGHIJKLMNOPQRTUVWXYZ ALFABRET 5 = NABCDEFGHIJKLMOPQRSTUVWXYZ ALFABRET 6 = ABCDEFGHIJKLMNOPQRSTUVWXYZ
Napisz program, który zaszyfruje podany tekst szyfrem polialfabetycznym.
Pierwszy wiersz wejścia zakończony znakiem nowej linii zawiera
słowo klucz o maksymalnej długości 10 znaków, składające się z wielkich
liter alfabetu łacińskiego.
W wierszu drugim zapisano tekst jawny o maksymalnej długości 100 znaków
zawierający wyłącznie wielkie litery alfabetu łacińskiego.
W pierwszym wierszu wyjścia wypisz alfabet łaciński. W kolejnych wierszach
wypisz kolejne alfabety szyfrowe uzyskane ze słowa kluczowego.
Wiersz ostatni powinien zawierać wyznaczony kryptogram.
Dla danych podanych na wejściu:
QCWA RGEQ
Poprawną odpowiedzią jest wyjście:
ABCDEFGHIJKLMNOPQRSTUVWXYZ QABCDEFGHIJKLMNOPRSTUVWXYZ CABDEFGHIJKLMNOPQRSTUVWXYZ WABCDEFGHIJKLMNOPQRSTUVXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ RGDQ
Jeśli chcesz zobaczyć inny przykład odśwież tę stronę klawiszem F5
Opcje zadania:
Biblioteki : iostream iomanip cmath string Limit czasu : 0.1 s Limit pamięci : 32 MB Słowa niedozwolone :