Szyfr Playfair do szyfrowania używa tablicy znaków wymiaru 5x5. Przyjmijmy, że szyfrujemy z kluczem. Wówczas hasło klucz wpisujemy do tabelki w pierwszy jej wiersz (ewentualnie drugi i następne, jeśli klucz jest zbyt długi) bez powtórzeń liter. Pozostałe komórki tabeli wypełniamy kolejnymi literami alfabetu nie występującymi w kluczu. Litery I i J zawsze wpisujemy do tej samej komórki.
Niech kluczem będzie słowo WARSZAWSKI. Tabelka do szyfrowania ma wówczas postać:
W A R S Z K I/J B C D E F G H L M N O P Q T U V X Y
Litery tekstu szyfrujemy parami: pierwsza z drugą, trzecia z czwartą, itd. Obowiązują przy tym trzy reguły:
1. Obie litery są w tym samym wierszu - zastępujemy je następnymi literami w wierszu np. WR zastępujemy AS 2. Obie litery są w tej samej kolumnie - zastępujemy je następnymi literami w kolumnie np. KT zastępujemy EW 3. Litery znajdują się w różnych wierszach i kolumnach - wówczas wyznaczają prostokąt i każdą szyfrujemy literą znajdującą się w drugim wierchołku prostokąta w tym samym wierszu tabeli, np. AP szyfrujemy SN
Dane jest słowo klucz oraz kryprogram parzystej długości.
Napisz program, który odszyfruje podany tekst używając szyfru Playfair.
Pierwszy wiersz wejścia zawiera słowo klucz potrzebne do wygenerowania tabelki
deszyfrującej.
W wierszu drugim zapisano kryptogram s.
Wyznaczony tekst jawny kryptogramu s.
Jeżeli musisz wypisać literę J, to wypisz zamiast niej literę
I.
Dla danych podanych na wejściu:
PIWNICA OOWIFX
Poprawną odpowiedzią jest wyjście:
TTIPDZ
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 :