Hacker - PilsProg
Transkript
Hacker - PilsProg
Hacker Na Západočeské univerzitě v Plzni byl v univerzitní počítačové síti objeven hacker. Každý týden vysílal jakési záhadné nečitelné zprávy přímo v síti webnet. Aby bylo možné zjistit, jaký text zprávy obsahovaly, je nutné je dešifrovat. O dešifrování byli požádáni přední počítačoví odborníci z Katedry informatiky a výpočetní techniky. Na síti byl následně objeven i šifrovací program, který pracuje podle dále uvedeného postupu. Jako vstup přichází do programu jeden řetězec S1 = s1s2...sN. Program pak vytváří všechny cyklické permutace S2 = s2s3...sNs1, ..., SN = sNs1s2...sN-1. Poté jsou všechny řetězce S1, S2, ..., SN seřazeny vzestupně lexikograficky a vypsány pod sebe každý na novou řádku. Tak vznikne dvourozměrné pole o rozměrech N x N. Jedna z řádek tohoto pole obsahuje i vstupní zprávu S1. Číslo této řádky a poslední sloupec vzniklého pole jsou výstupem šifrovacího programu. Číslo ani délka řetězce nejsou větší než 10 000. Řetězec může obsahovat jen znaky AZ, a-z a podtržítko („_“), lexikografické seřazení je následujícím způsobem: ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz Například pro slovo S1 = abracadabra vzniknou následující permutace: aabracadabr = S11 abraabracad = S8 abracadabra = S1 acadabraabr = S4 adabraabrac = S6 braabracada = S9 bracadabraa = S2 cadabraabra = S5 dabraabraca = S7 raabracadab = S10 racadabraab = S3 Výstupem pak bude číslo 3 a řetězec rdarcaaaabb (poslední sloupec vyznačený tučně). Pomůžete odborníkům z KIVu najít dešifrovací algoritmus těchto zpráv? Vstup Na vstupu jsou dvě řádky. První řádka obsahuje výstupní číslo z programu a druhá řádka obsahuje výstupní řetězec z programu. Strana 1 (celkem 2) Výstup Vypište původní zprávu, která byla šifrována. Příklad vstupu 3 rdarcaaaabb Příklad výstupu abracadabra Strana 2 (celkem 2)
Podobné dokumenty
Ö ÔÓ ÖÙ ÈËÈ ¾¼½¼ ÈÖ ¸ Ò ¾º
Přístroj ze zadaného textu nejdříve odstraní vše, co není znakem anglické abecedy a následně všechny zbylé znaku
převede na malá písmena. Takže získá posloupnost S = s1 s2 . . . sn znaků a . . . z ...