Zadání zde:
http://3537.sk/programator.html
Pochlubte se, jak jste dopadli - výsledky a dosažené časy (i když samozřejmě záleží i na počítači, ale v tom nejsou takové rozdíly jako v agoritmech) :)
PS: Nekažte radost ostatním zveřejňováním návodů, postupů, algoritmů apod.
Fórum › Offtopic
Zajímavá programátorská úloha - jak jste dobří?
asi nic moc výsledek,
mně to trvalo 55sekund v Javě u tý větší DB
kolik vyšlo unikátů -
to číslo má několik tisíc (no míň než souborů :-) ) a končí mi 174 !
možná by to sem chtělo dát pro lepší porovnání / mimo HW / spustitelnej výsledek.
Mě to udělalo něco málo pod 2 sekundy, pokud vstupní soubor je v cache (tedy spouštím program 2x po sobě) v C#/.NET u většího souboru. Bez přednačtení něco přes 2 sekundy. Našlo mi to 96312 unikátních souborů dle definice (tedy pokud je to správně). Spouštěno na Core2 2.4 GHz, ale program zatím běží jen v jednom vlákně, takže se používá jen jedno jádro. Vidím ještě dost možností optimalizace.
To arithmetic overflow :
To Qwerty : ... poklona.
Měl jsem tam chybu, potvrzuji těch 96312.
já moc neoptimalizoval, a žere mě to skoro 100MB paměti.
Tak to bych se mel pokusit to stáhnout na 10 sekund. ":D"
Taky mi vyšlo 96312 a běželo 1.676s (včetně parsování souboru). Spotřeba RAM 64084 KB. Athlon 6000+.
Původně jsem to chtěl řešit na grafické kartě (nvidia cuda), ale vykašlal jsem se na to - aby se dosáhlo značného zvýšení výkonu oproti CPU, tak by se zřejmě muselo jednat náročnější výpočet.
Podobne ako qwerty, robim to v C#/.NET, este som nedostal konecny vysledok, trapim sa s jednym algoritmom v algoritme ;) -> stale mam problem s nejakou tou nepredvidatelnou chybou :D Ale samotny algoritmus po tento pod vypocital cca 70,000 unikatnych zaznamov za cca 60ms. Parsovanie suboru trva 2 sekundy na Dualcore 2.1Ghz
Anonymní uživatel napsal:
To Qwerty : ... poklona.
Měl jsem tam chybu, potvrzuji těch 96312.
já moc neoptimalizoval, a žere mě to skoro 100MB paměti.
Tak to bych se mel pokusit to stáhnout na 10 sekund. ":D"
Ak ti to trva nad 1 sekundu, urcite ten algoritmus nieje taky aky by mal byt. ;-) ja som este pred par dnami bol tam kde ty, snazil som sa svoj alg. zkracovat v case co to slo, ale nakoniec som zobral pero a papier, a do pol hodiny nacrtol peckovy alg. :)
Dodatok: Robim to ako consolovu aplikaciu, tzn. ziadne prednacitanie suboru sa nekona.
To velurex : Jistý si také nejsem, ale pokud je v kompu více procesorů (jader), tak by to možná smysl mít mohlo. Samozřejmě především z pohledu zpracování větších dat. Tamta data jsou jen ukázkové soubory a nikdo neříká, že ten program nebude zpracovávat i větší vstupní soubory. Bohužel už ani nikdo neříká, zda se vstupní data vejdou do RAM ... na čemž dosti závisí použitý algoritmus.
To velurex : ja myslel, ze pro vsechny zucastnene to bylo mistni hrani a soupereni, a ty se ted ptas co si delal bo jak tomu mam rozumet?? :D Prece kdyz uz se necemu venuju tak je jen chvalyhodny to dotahnout do maxima, konce, nenechat skulinku, vyzdimat to, pokorit to az na kost, rozparat to, .... Nebo jdes nekam, nejakou stezkou po napr. zeleny barve, na ukazateli je 5km do cile, ..pak 300metru a ty se zastavis budes se nahle ptat - ma to nejaky ucel ze tam jdu jen na "podivanou", ten cas ktery tratim ted na tech 300 metrech :D....
A ted muze Querty pridat na tohle uz jen cimkoliv vyssim a nemas jak prebijet :D
to all: mam pomaly komp, jenom parsovani mi trva 7 sekund :(
To arithmetic overflow : Nelze "to dotahnout do maxima, konce, nenechat skulinku, vyzdimat to, pokorit to az na kost, rozparat to, ...." neboť jak praví jeden ze zákonů programování "V každém programu je chyba a v každém programu je instrukce navíc". :) Pointa je dotáhnou to do uspokojivého stavu a mě třetina vteřiny připadá uspokojivá. :)
Ale jestli budete provokovat, vrátím se k původnímu plánu a nechám to počítat grafickou kartu a takovej fofr ještě neviděli. :)
Kolko vam naslo unikatnych suborov v tom mensom subore?
Mne naslo 851 a tak by som si to chcel naskor overit ci je to spravne, kym sa pustim do toho velkeho suboru.
Pri velkom subore mi totiz nestaci pamet pri parsovani suboru (cez Scanner) ktoru ma java vyhradenu tak to budem musiet nejak poriesit. :D
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Jak by jste řešili? — založil Radon
Jak jste začali programovat — založil Max
Google Chrom OS (Chromium) - jak jste na tom? — založil tanned88
Jak by jste pojmenovali zlehčenou odnož Pythonu? — založil Dany0
Programátorská Akta X — založil soul_draco
Moderátoři diskuze