Definícia úlohy dešifrovanie:
Bežnou, ale málo bezpečnou metódou šifrovania textu, je permutácia písmen abecedy. Inými slovami, každé písmeno abecedy je v texte nahradené iným písmenom. Aby sa zabezpečilo, že šifrovanie bude reverzibilné, nebudú rovnaké písmená nahradené dvoma písmenami. Vašou úlohou je dešifrovať niekoľko kódovaných riadkov textu za predpokladu, že každý riadok používa inú sadu nahradení (permutácií) a že všetky slová v dešifrovanom texte sú známe a existujúce anglické slová.
Vstup
Vstup pozostáva z riadku obsahujúceho celé číslo, za ktorým nasledujú slová pozostávajúce z malých písmen anglickej abecedy; na každom riadku je jedno slovo. Slová sú v abecednom poradí. Tieto slová tvoria slovník slov, ktoré sa môžu objaviť v dešifrovanom texte. Za slovníkom nasleduje niekoľko riadkov vstupu. Každý riadok je šifrovaný, ako je opísané vyššie. V slovníku nie je viac ako 1 000 slov. Žiadne slovo nepresahuje 16 písmen. Zašifrované riadky obsahujú iba malé písmená a medzery a nepresahujú dĺžku 80 znakov.
Výstup
Dešifrujte každý riadok a vytlačte ho na štandardný výstup. Ak existuje viac riešení, vypíšte ľubovoľné z nich. Ak neexistuje riešenie, nahraďte každé písmeno abecedy hviezdičkou.
Sample Input
6
and
dick
jane
puff
spot
yertle
bjvg xsb hxsn xsb qymm xsb rqat xsb pnetfn
xxxx yyy zzzz www yyyy aaa bbbb ccc dddddd
Sample Output
dick and jane and puff and spot and yertle
**** *** **** *** **** *** **** *** ******
Požadované výstupy:
Úlohu vypracujte ako program v ľubovoľnom programovacom jazyku.
Súťažiaci odovzdáva 1 zozipovaný súbor obsahujúci zdrojové kódy a dokumentáciu:
- Odovzdávajte výhradne zdrojové kódy, nie skompilované binárne súbory. Vytvorený program odovzdajte ako jeden súbor (napr. .c, .py, .go, …). Od programu sa očakáva, že sa bude dať skompilovať a následne spustiť. Používajte čo najmenej externých knižníc, ktoré by bolo treba doinštalovať.
- Súčasťou riešenia je dokumentácia, ktorá bude súčasťou zdrojového kódu. Vaše vytvorené funkcie a postupy treba okomentovať, aby ste ozrejmili vaše myšlienkové pochody pri riešení úlohy.
- Súhlas zákonného zástupcu ak 15.3.2021 nebudeš mať 18 rokov.
Odovzdávanie riešenia súťažnej úlohy :
sa končí dňa 15. 4. 2021 do 23:59. Do tohto termínu je teda potrebné nahrať Vaše riešenie prostredníctvom linku, ktorý Vám bude včasne zaslaný na e-mail uvedený vo Vašej registrácii.
Vyhodnotenie víťaza v sekcii Informatik:
1.O víťazovi rozhodne odborná komisia, ktorá bude hodnotiť vypracované algoritmy z pohľadu:
- správnosti,
- efektívnosti riešenia (časové hľadisko),
- zrozumiteľnosti kódu (správne formátovanie, sémanticky správne zvolené názvy premenných a funkcií),
- miera použitých komentárov, resp. dokumentáciu k riešeniu
2.Hodnotenie komisiou bude prebiehať od 19.04.2021 do 09.05.2021.
Vyhlásenie víťazov
Bude oznámené v období od 17.05.2021 do 24.05.2021.
Hlavná cena:
smartfón
Dokumenty na stiahnutie:
Súhlas zákonného zástupcu ak 15.3.2021 nebudeš mať 18 rokov, nájdeš TU
Registrácia do sekcie: https://forms.gle/nVbj5ee7J7M8vsYD7
Kontakt:
V prípade problémov pri registrácii alebo akýchkoľvek otázok k súťažia alebo súťažným úlohám napíš mail na sutaz.mtf@gmail.com do predmetu mailu napíš Informatik.
Ak sa chceš dozvedieť viac o štúdiu v oblasti informatika, automatizácia alebo mechatronika na MTF, klikni na:
Mechatronika v technologických zariadeniach alebo