Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
Problem hidden on 2016-04-16 13:11:12 by Marcin Kasprowicz
FR_02_M4 - Małe szyfrowanko |
Istnieje pewien szyfr, którego działanie jest oparte na tablicy, składającej się z 26 kolumn i 26 wierszy wypełnionych literami.
Pierwszy wiersz zaczyna się od A i kończy na Z (A,B,C,...,Z - alfabet angielski),
pierwsza kolumna składa się z tych samych liter w tej samej kolejności.
Czytając litery z tablicy w prawą stronę lub w dół, zawsze będziemy odczytywali alfabet angielski w kolejności (możliwe są przeskoki z litery Z na literę A).
Twoim zadaniem będzie zaszyfrować podaną wiadomość, skłądającą się z ciągu dużych liter alfabetu angielskiego tym szyfrem.
Na wejście zostanie podane słowo-klucz oraz ciąg liter do zaszyfrowania.
Szyfr działa w następujący sposób:
Załóżmy, że nasz ciąg liter wygląda następująco: TO ZADANIE NIE JEST TRUDNE, a słowo-klucz: SZYFR.
Ze słowa klucza musimy ułożyć ciąg liter o tej samej długości, co ciąg
który będziemy musieli zaszyfrować (Słowo-klucz może być dłuższe od wiadomości). Wygląda to w następujący sposób:
TO ZADANIE NIE JEST TRUDNE
SZ YFRSZYF RSZ YFRS ZYFRSZ
Dzięki takiemu układowi otrzymujemy współrzędne liter z tablicy, które podstawimy za litery z właściwej wiadomości. Współrzędne pierwszej litery to (T,S), drugiej (O,Z),trzeciej (Z,Y) itd...
Szyfrując wiadomość trzeba pamiętać o zachowaniu spacji pomiędzy słowami.
Wejście
W pierwszym wierszu podana zostanie liczba t (t<=1001), która określa ilość zestawów danych.
Jeden zestaw danych składa się z dwóch wierszy. W pierwszym słowo-klucz (jeden wyraz),
zaś w drugim wiadomość - ciąg wyrazów oddzielonych spacjami lub pojedynczy wyraz, który należy zaszyfrować według klucza.
Słowo-klucz jak i wiadomość zawierają maksymalnie 10001 znaków.
Wyjście
t wierszy, w każdym zaszyfrowana wiadomość.
Przykład:
Wejście
3
KOT
ALA MA KOTA
TOK
BOLEK I LOLEK
RAK
SZYFROWANIE
Wyjście
KZT WO DYHT
UCVXY S ECVXY
JZIWRYNAXZE
Dodane przez: | Igor Czeczot |
Data dodania: | 2014-09-13 |
Limit czasu wykonania programu: | 1s-3s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC ASM64 COBOL D-CLANG D-DMD ELIXIR FANTOM GOSU GRV JS-MONKEY NIM OBJC OBJC-CLANG PICO RUST SCM qobi CHICKEN VB.NET |
Pochodzenie: | FRAKTAL |