Správna odpoveď na otázku z nadpisu: všetci okrem nás programátorov. To sa nedávno vypomstilo mladému programátorovi Jarkovi. Jedného dňa spoznal krásnu mladú slečnu, s ktorou si padli do oka. Keď sa večer lúčili, mal práve Jarko vybitý mobil, a tak mu slečna perom na ruku napísala svoje telefónne číslo. Keď však Jarko prišiel domov, s hrôzou zistil, že niektoré cifry nevie prečítať.
Úloha
V tejto úlohe sa budeme hrať s bitmapami v odtieňoch šedej. Bitmapy budú mať rozmer \(28\times 28\) a každý ich pixel bude mať hodnotu od 0 (čierna) po 255 (biela). Na každej bitmape bude rukou napísaná jedna z cifier od 0 po 9, a to čiernou farbou na bielom pozadí. Príklad niekoľkých takýchto bitmáp:
Môžeš si od nás stiahnuť zip archív (13 MB) obsahujúci nasledovné dobroty:
- vstupný súbor s \(50\,000\) bitmapami cifier
- obrázok s prvými \(10\,000\) ciframi z toho vstupného súboru
- výstupný súbor v ktorom je ku každej bitmape zo vstupu správna cifra
Tvojou úlohou je napísať a odovzdať program, ktorý zo vstupu načíta súbor s bitmapami cifier (v rovnakom formáte ako ukážkový, vrátane prázdnych riadkov medzi bitmapami) a na výstup vypíše postupnosť cifier na bitmapách (tiež v rovnakom formáte ako ukážkový).
Hodnotenie
Tvoje riešenie bude otestované na súbore s \(10\,000\) bitmapami cifier. (Tieto bitmapy nie sú medzi \(50\,000\) bitmapami z ukážkového vstupu. Všetkých \(60\,000\) bitmáp naozaj pochádza od ľudí.)
Nech \(x\) je počet bitmáp, pre ktoré dá tvoj program správnu odpoveď. Počet bodov, ktoré dostaneš, bude medián spomedzi \(0\), \(20\) a \((x-1000)/420\), zaokrúhlený na dve desatinné miesta. (Inými slovami, ak \(x\leq 1000\), dostaneš nulu, ak \(x\geq 9400\), dostaneš 20, a medzi týmito dvomi hranicami počet bodov rastie lineárne.)
Upozorňujeme, že tvoj program musí skončiť v časovom limite (30 sekúnd), inak nedostane body žiadne.
Odovzdávanie
Na odovzdávanie sa musíš prihlásiť
Otázky a diskusia
Po skončení kola budete mať príležitosť na diskutovanie o riešeniach v diskusii pod vzorovým riešením.