Zadanie : szyfr-play-1b
Zadanie

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.

Wejście

Pierwszy wiersz wejścia zawiera słowo klucz potrzebne do wygenerowania tabelki deszyfrującej.
W wierszu drugim zapisano kryptogram s.

Wyjście

Wyznaczony tekst jawny kryptogramu s.
Jeżeli musisz wypisać literę J, to wypisz zamiast niej literę I.

Przykład

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 :