Voltunk szombaton huszonnégy-órás programozói verseny elődöntőn. Érdekesek és szerintem viszonylag nehezek voltak a feladatok (bár mindenféle típusú problémával lehetett találkozni, melyeket különböző megoldási módszerekkel lehetett megoldani), viszont kicsit sem gondolom, hogy erkölcsileg elfogadható egy-két csapat eredménye. Történt ugyanis, hogy péntek este a szerverek kímélésének érdekében felkerültek az elődöntő feladatai egy jelszóval védett tömörített állományba. A jelszó és a jelszó nélküli fájl másnap tíz óra harminc-egynéhány perckor került fel – míg az első helyes megoldás tíz óra tizennégy perckor érkezett meg.
A másik ami nem volt annyira szimpatikus, hogy nem a forráskódokat kérték el, hanem az adott bemenő adatokból generált kimenő adatokat, amiket viszont akár program nélkül, kézzel is elő lehetett volna állítani a feladatok egy részében. Pláne így, hogy akár egy egész éjszaka is volt a feladatok megoldására a hivatalos hatórányi idő helyett.
Persze érthető, hogy ez sehol nem támadható, mert hiába az erkölcs, a jobb informatikus az, aki feltöri azt a tömörített fájlt, aztán küzd vele másnapig.
Jó móka volt azért, de őszintén nem bánom, hogy végül nem lett belőle semmi.
Icarus
2011. február 21. — 00:23:35
Hogy a szervezőket védjem: a jelszó a verseny irc serveren pontosan 10 órakor volt közölve 🙂 Nem volt semmi kamu a kiszivárgott feladatokkal kapcsolatban.
Egyébként nem látok benne semmi rosszat, hogy az eredményt kérték, főleg hogy volt olyan feladat amire tuti nem írsz programot: a lemezfelolvasásnak a végeredménye például egy hangként kódolt (értsd felolvasott) számsor volt. 5 óra alatt nem lehet hangfelismerőt írni. Itt arra lehetett csak, hogy valami előállítsa ezt a hangot.
Annyira nem új keletű ez. Sőt, nekem kifejezetten tetszik is, hogy van ahol a felhasználó segítségére van szükség. http://projecteuler.net/ -en is vannak olyan feladatok, amire nem érdemes mindig programot írni, hanem jobb ha leül az ember egy papírral a kezében is simán kiszámolja mondjuk két szám legkisebb közös többszörösét.
saxus
2011. február 21. — 00:35:12
Vitatkoznék pár dologgal:
Megkérdeztem az egyik szervezőt, ok sem tudták hamarább kirakni az oldalra.
A jelszavas fájlon belül egy újabb jelszavas fájl volt. Egyik csapattag is megpróbálta feltörni, természetesen nem ment. kb. 2x60mrd-nyi jelszót kellett volna végignézni. Másik, hogy közölve lett, hogy IRC-re tessék felmászni, ott közölve lesz a jelszó időben, mert az oldal lehet le lesz rohamozva. Ezen kívül pontban 10:00-kor nyitották meg a #a..#f channelt, ahol a feladatokkal kapcsolatban lehetett kérdezni.
Értem én, hogy web1.9, a faszbuk meg a csiripelő dög a menő most – lesz is vele kérdésem holnapután 🙂 – de attól még nem lenne rossz nem elfelejteni, hogy honnan is indultunk.
Másik: ez nem egy fejlesztői, de még csak nem is egy programozói verseny. A verseny célja, hogy feladatokat oldj meg. Egyébként ezzel kapcsolatban szerintem nagyon jól rámutat arra, hogy mi a hiba nagyon-nagyon sok helyen: elveszik a lényeg. Pont ma keltem azzal, hogy Skypera belépve egy barátom fél képernyőnyi kérdése állt, hogy hogyan építse fel a keretrendszerét. Csak annyit írtam, hogy “számít ez?” Az első és legfontosabb: legyen jó megoldás a feladatra, az összes többi a feladat szempontjából mellékes. (Persze más szempontból nem az, de itt nem ez volt a lényeg.)
Ezen kívül rámutat még valamire: nem kell mindent szögnek látni. Ami nekem nagyon tetszett a versenyben, hogy rákényszerít arra, hogy ne a bevett/megszokott/unalomig ismert módszerekkel a hasonló problémákat old meg, hanem, hogy ki tudd választani azt a megoldást, amivel a feladatot a lehető legrövidebb idő alatt jól megoldod.
Másrészt a forráskóddal több probléma is van: PHP esetén is előjönnek a platformok közti különbségek, hát még pl. egy C-nél. Vagy pl. valaki valami olyan libet használ, amit licenc okokból sem adhat át a szervezőknek. Na meg erősen korlátolt lenne a megoldáshoz használható eszközök, ami itt nem volt cél.
saxus
2011. február 21. — 00:39:26
[re=6063576]Icarus[/re]: Hehe, én írtam egy C#-s programot, ami egy spirál mentén végigment a sávokon, aztán fogta és kiolvasta a szinek értékét, majd egy .txt -be kiírta. GoldWave-be meg megnyitottam RAW-ként, 8 bit unsigned, 44100 khz-vel. Az egész sztem megvolt 2,5-3 óra alatt, ami sok időt elvett, az az, hogy én nem fogtam fel elsőre, hogy az hang és a spektrumot próbáltam jól meganalizálni, mire leesett, hogy talán hang ez. (Fail, RTFA befigyel).
A nagyobb probléma inkább az volt, hogy nem értettük, hogy mit mond. Vége után persze leesett, hogy a sebességgel is kellett volna játszadozni még, nem csak a zajszűréssel.
Icarus
2011. február 21. — 01:07:10
[re=6063577]saxus[/re]: Elmondtál mindent tökéletesen amit a beadandó forráskód ellen hoztam volna fel érvként 😀
A hang értéssel nálunk is gond volt…. összedugtuk a fejünk és még úgy is néha 6-ot 8-nak értettük, stb 😀 Volt mivel játszadoznunk ott. Most próbálom rávenni magam és a többieket is, hogy próbáljuk megoldani azokat a feladatokat is, amiket nem sikerült vagy amivel egyáltalán nem foglalkoztunk, hátha sok mindent tanulnánk jövőre.
saxus
2011. február 21. — 01:43:54
[re=6063579]Icarus[/re]: A versenyhez még annyit tennék hozzá, hogy nekem az volt a fura, hogy pont arra a két feladatra akartam ráugrani, amire a legkevesebben (C, F, bár utóbbira nem maradt időm).
Melyik csapatban voltál egyébként? 🙂
Icarus
2011. február 21. — 01:53:25
[re=6063580]saxus[/re]: Pizza2code nevű csapatban 🙂 Nem teljesítettünk valami jól… sajnos egyik feladatra sem sikerült pontot szereznem… az A feladat kifogott rajtam és utána már a D-re sem volt időm
dr. Ferenczy Sándor
2011. február 21. — 09:07:42
[re=6063576]Icarus[/re]: lol, legkisebb közös többszöröst kézzel kiszámolni? 😀 Ott az Euklideszi algoritmus amit kb. 1 sorban begépelsz és O(log n) időben kiszámolja a legnagyobb közös osztót, onnan meg a legkisebb közös többszörös = (a*b)/gcd(a,b)
Icarus
2011. február 21. — 09:14:08
[re=6063582]dr. Ferenczy Sándor[/re]: Azt hiszem erre nem volt kedvem programot írni 🙂 http://projecteuler.net/index.php?section=problems&id=5 Egyszerűbbnek láttam csak a prímtényezőket felírni és azokat összeszorozni 😀
Icarus
2011. február 21. — 09:23:14
[re=6063582]dr. Ferenczy Sándor[/re]: [re=6063583]Icarus[/re]: Nyilván nem ezt a megközelítést választottam volna ha mondjuk 1-1000-ig kérte volna ugyanezt a feladatot. Csak azt mondom, hogy ha csak azt tartjuk szem előtt, hogy legyen egy megoldás minél hamarabb akkor néha egy papírral leülünk és gondolkodunk is jó tud lenni 🙂
Mefi
2011. február 21. — 09:36:03
[re=6063576]Icarus[/re]: 14 perc alatt szerintem akkor is kicsit vicces a feladatok megoldása, de persze mindegy is.
[re=6063577]saxus[/re], [re=6063576]Icarus[/re]: az egyik srác nálunk fenn volt IRC-n, de nem látta a jelszót, persze lehet elkerülte a figyelmét.
[re=6063577]saxus[/re]: hát, “Challenge 24 – International Programming Contest”, magyarul meg “BME 24 órás nemzetközi programozói verseny”, szóval de, ez egy programozói verseny. 😀
[re=6063579]Icarus[/re], [re=6063580]saxus[/re]: amúgy jogos, hogy nem forráskódot fognak kérni (már csak amiatt sem, mert egyszerűbb ellenőrizni egy sima output fájlt, de ettől függetlenül nekem jobban tetszett volna ha valami kódot is néznek, gondolom a versenyen azt is fognak. Ilyen tekintetben a legjobb fejlesztő verseny szimpatikusabb volt.
Icarus
2011. február 21. — 09:47:33
[re=6063585]Mefi[/re]: Ha valaki papíron csinálta meg mondjuk az A feladat első bemenetét simán jó az a 14 perc 🙂 És igen, elkerülte a figyelmét, mert IRC-en olvastam én is a jelszót 🙂
A 24 órás versenyen is sem nézik a kódot ha jól emlékszem… Ha valakinek éppen Prologban van kedve megoldani egy backtrack algoritmust, akkor tegye. Ne kelljen már minden lehetséges nyelvhez egy szakértőt felsorakoztatniuk a szervezőknek.
Értem én, hogy a kódminőség is számít, de szerintem sokkal életszagúbb itt, hogy nem azt figyelik. Egyébként is ha gyorsra akarod megcsinálni, itt, akkor csúnya lesz a kódod, annyi hack lesz benne 😀
Mefi
2011. február 21. — 09:57:05
[re=6063587]Icarus[/re]: én akkor mondjuk nem is forráskódot, de mondjuk szoftvert ellenőriznék úgy, hogy lenne A input ami publikus, és n számú B input, ami nem az. Ha mindegyik inputra azt az outputot adja a program, amit kell, akkor az egy jó megoldás.
Amúgy értem a logikát, és annyira nincs is vele bajom, csak valahogy nem szimpi az hogy programozói verseny, de igazából kézzel is dolgozhatsz. Ez persze az én hülyeségem. 🙂
saxus
2011. február 21. — 10:27:52
[re=6063581]Icarus[/re]: Há’ nézdmá…
[re=6063585]Mefi[/re]:
[10:01:13] inner password: LeeV7Iecahko outer password: bou1Aengaesh
[10:01:33]
[10:02:03] * Igor2 changes topic to ‘Challenge24 2011 | http://ch24.org | problem channels #a #b #c #d #e #f | inner password: LeeV7Iecahko outer password: bou1Aengaesh’
[re=6063585]Mefi[/re]: Na de most őszintén. Az egy “ki tanulta meg jobban a J2EE elveit és aszerint ki tud megoldani egy üzleti alkalmazást”, amit egyébként
24/78/5 csákányoz a munkahelyén. Most őszintén, ebben van nagyobb kihívás, vagy abban, hogy kapsz egy olyan feladatot, amit jó eséllyel egyhamar nem? Meg legalább értelme is lesz a matektanulásnak. 🙂Ha meg már forráskód: “14. Ny. Attila 6.5 nem sikerült buildelni” Ciki.
saxus
2011. február 21. — 11:12:16
Amit elfelejtettem mondani: a programozo 3 legjobb baratja: toll, papir, szamologep.
Matematikai problemakat sokszor egyszerubb eloszor papiron megtervezni, megoldani es ha mar kesz a megoldas irni ra vmi scriptet, ami szamol helyettunk. Vagy excelt buzergalni.
Ez is programozas csak a sok enterspajz betus TLA/buzzword kozott kisse feledesbe merult, mert az iparnak ma az esetek 95%-aban egy billentyuzetet csapkodo majom kell es kb ennyit is mernek rajuk bizni (ld. J2EE, MS WPF+MVVM stb.)
Marci
2011. február 21. — 12:43:32
[re=6063577]saxus[/re]: 2X60mrd lehetőség az kb. semmi. Kell hozzá egy CUDA-capable GPU és minimális CUDA C tudás. Ha valaki fel akarta törni, az feltörte és még komoly erőfeszítés/tudás sem kell hozzá.
Icarus
2011. február 21. — 12:51:07
[re=6063591]Marci[/re]: Ezekkel úgy vagyok, hogy ha valaki ezt megcsinálja, akkor csak nyugodtan 🙂 Megérdemli hogy bent legyen a döntőben mert tud valamit 😛
saxus
2011. február 21. — 18:48:24
[re=6063593]Icarus[/re]: +1.
(ui: előző hsz-emnél ki kellene javítani az e-mailt 🙂
Tamás
2011. október 11. — 12:15:09
Sziasztok!
Én voltam a 11. ch24 főszervezője, s bár már február elmúlt, de a jövőévi versenyt is elkezdtük megszervezni és így találtam ide.
Több meglátás helyes a fórumozók körében: a verseny célja a feladatok megoldása, a kreatív gondolkodás. Nem véletlenül hirdetjük matematikusok, infosok, mérnökök és programozni jól tudok között a versenyt egyaránt, hiszen a feladatok mint látjátok elég sokrétűek. A feladatíró csapat összetétele is ezt tükrözi, több egyetemről és szakról vagyunk.
Felvetődött, hogy miért nem nézünk forráskódot: nagyon régen volt szubjektív pontozás a megoldásokra, de azt ugye mindenki másként értelmez, szeret. Platform és nyelvfüggelten versenyről beszélünk, amit mindig ki is emelünk, s ez önmagában is feleslegessé teszi a kódok zsürizését, hiszen ahány programnyelv, annyiféle hatékony megoldás.
Mindenesetre várunk a jövő évi megmérettetésen is Titeket és ezeket a kritikákat is felhasználjuk a jövő év során, hiszen nagyon hasznosak ezek nekünk is (pl. a jelszavas állománnyokkal kapcsoaltban, amit úgy itéltünk meg, hogy elég nehéz azért egy este alatt ezt megtörni).
Tamás