Az I. 170. feladat (2007. november) |
I. 170. Barátunk, Berez Elek, rendszergazdaként dolgozik egy vállalatnál. Most azonban nagy hibát követett el: véletlenül letörölte főnöke, Feledékeny Félix féltve őrzött programját.
A programot arra használták, hogy leveleket ,,digitálisan aláírjanak'' vele. Ez az eljárás a gyakorlatban úgy működött, hogy a főnök minden levelének végére odaírt egy a levél tartalmától függő szót, majd a program segítségével előállította ennek a szónak a titkos kódját, és azt is odaírta. Másrészt, a főnök bármikor meggyőződhetett arról, hogy egy korábbi levélnek valóban ő a szerzője: ha egy levél végén található szót a programba beírt, és így ugyanazt a kódot kapta vissza, amit a levélen is látott, akkor biztos lehetett benne, hogy a levél nem hamis.
Sajnos Elek csak három levelet talált, ezeken az alábbi aláírás/titkos kód páros szerepel:
Nemes/wiqiRd
kemence/igriqioh
TROMBITA/EXMFQSVXP
Segítsünk Eleknek megmenteni az állását, és írjuk meg a titkosító programot. A program a szót a felhasználótól kérje be, majd a monitoron jelenítse meg a kódolt alakot.
Beküldendő a program forráskódja (i170.pas, i170.cpp, ...).
(10 pont)
A beküldési határidő 2007. december 17-én LEJÁRT.
Megoldás. A feladatból a kódolás pontos menete, és a kód végén álló plusz karakter kiszámítási módja nem található ki egyértelműen. A versenyzők többsége mégis ügyes és egyszerű kódolást adott. Az utolsó karakterre több lehetséges megoldás is született. A két mintamegoldás: Véges Márton budapesti versenyző (i170.cpp) és Póta Kristóf egri tanuló (i170.pas) munkája.
Statisztika:
11 dolgozat érkezett. 10 pontot kapott: Adrián Patrik, Englert Péter, Földes Imre, Póta Kristóf, Véges Márton. 9 pontot kapott: Horváth 135 Loránd, Molnár Gábor, Pap 987 Dávid, Wolf Attila. 7 pontot kapott: 1 versenyző. 5 pontot kapott: 1 versenyző.
A KöMaL 2007. novemberi informatika feladatai