Nimmt ihr an so etwas teil? Online Judge



  • Hallo,

    für alle unter Euch die es noch nicht kennen:
    http://icpcres.ecs.baylor.edu/onlinejudge/

    Erklärung:
    Dies ist ein Board für Programmierer, welches sehr viele Programmieraufgaben enthält. Alle Aufgaben sind rein algoritmischer Natur und lassen sich in einer der folgenden Programmiersprachen lösen: C++/C/Java. Es wird nur reines Ansi C/C++ gefordert (keine externen Bibliotheken). Die Lösungen für diese Probleme sind meistens kurz und sollten innerhalb einer Quellcode-Datei gelöst werden. Wenn man ein Problem gemäß den Anforderungen (auch Ausdruckbar, da auch in PDF) gelöst hat, dann ladet man seine Lösung (die Quellcode-Datei) hoch und lässt es von einer KI auswerten, ob es der Anforderung entspricht. Zu jedem Benutzer werden Statistiken gehalten (wie viele Probleme angefangen, wie viele davon gelöst, Programmlaufzeit, wieviele gescheitert, welche Programmiersprache etc). Ab und zu werden auch Programmiercontests angeboten, an denen jeder User teilnehmen darf (tolle Preise). Es soll Leute geben die sogar 5 von diesen Problemen am Tag schaffen 😮

    Tips:
    Der Online Judge ist sehr penibel. Dh bitte nur das und in der Form wie gefordert lösen.
    Manchmal denke ich das etwas mit dem Online Judge nicht stimmen kann, da meine Lösung
    augenscheinlich der Anforderung entspricht, dabei stelle ich bei dem dritten Lösungsversuch fest dass ich einen Grenzwert (o.ä.) nicht beachtet habe.

    Dieses Board eignet sich auch für alle, die nicht wissen was sie programmieren sollen 😉 bzw. die an einem Contest teilnehmen wollen (und Übung brauchen) oder die sich algoritmisch fortbilden wollen.

    Ich bin jedenfalls sehr gespannt auf Eure Statistiken und welche Probleme ihr gelöst habt (mit welcher Programmlaufzeit).

    Gruß



  • Also ein Abklatsch von Project Euler, oder?



  • Tim schrieb:

    Also ein Abklatsch von Project Euler, oder?

    Das Prinzip ist "fast" gleich. Jedoch ist der erste link älter (der Server ist neu) und bekannter (einer der Pioniere). Auch die Größenordnung (was die Anzahl der Probleme, Contests, und User) ist nicht vergleichbar. Auch sind die Probleme vielseitiger und nicht unbedingt so Mathe-Lastig. Die Probleme sind eher für Programmierer als für Mathematiker 😉

    http://icpcres.ecs.baylor.edu/onlinejudge/ :

    SUBMISSIONS
    5940582

    PROBLEMS
    2190

    USERS
    66718

    CONTESTS
    184

    ein weiteres mir beakanntes Board:
    http://www.spoj.pl/
    ist warscheinlich noch ausgereifter.

    Gruß



  • Ich hab einen alten Account bei SPOJ (christoph), war dort aber nie allzu aktiv. Eines der Probleme, die ich geloest habe, taucht in der Statistik uebrigens (noch?) nicht auf: BRAINF_K.
    SPOJ find ich sehr toll um festzustellen wie sich andere Sprachen als C, C++ oder Java in Contest-Themen schlagen. Sogar Haskell-Loesungen werden akzeptiert.

    Beim UVA online judge hab ich auch einen Account, aber dessen ID muesste ich nachschlagen.



  • So, das wars. Mein Entspannungswochenende hat sich damit erledigt. 😞 😉



  • Ich hasse den OnlineJudge. Wollte mal ein Seminar machen, bei dem ich nur 20 Aufgaben loesen haette muessen (und einen Vortrag, geschenkt), habs nach 2 Wochen abgebrochen: Uebermaessige Agression, die sich nicht mehr durch Sandsackboxen und Killerspiele abbauen lies. Ich finds einfach scheisse, dass es bei diesen Systemen ne Menge Probleme gibt, die mit genau einer einzigen Berechnungsreihenfolge loesbar sind (Zahlengenauigkeiten! An die Skeptiker: Ich habe in nem konkreten Fall mit Integerarithmetik [=unendliche Genauigkeit] bis zum Ergebnis gerechnet, und dann erst gerundet => Wrong Answer), genauso wie die aeusserst informativen Rueckmeldungen "Correct" und "Wrong Answer" (den Wrong Format lass ich mal weg, weil anstelle dessen oft Wrong Answer kommt, was dem ganzen die Krone aufsetzt: "Mein Prgramm ist doch genau richtig...")

    Ich finds ne lustige Beschaeftigung fuer Leute die sonst nix zu tun haben. Ich habe 1000 andere schoene Sachen zu tun, wenn ich nicht Programmieren/Forschen muss.



  • Korbinian schrieb:

    Ich hasse den OnlineJudge. Wollte mal ein Seminar machen, bei dem ich nur 20 Aufgaben loesen haette muessen (und einen Vortrag, geschenkt), habs nach 2 Wochen abgebrochen: Uebermaessige Agression, die sich nicht mehr durch Sandsackboxen und Killerspiele abbauen lies. Ich finds einfach scheisse, dass es bei diesen Systemen ne Menge Probleme gibt, die mit genau einer einzigen Berechnungsreihenfolge loesbar sind (Zahlengenauigkeiten! An die Skeptiker: Ich habe in nem konkreten Fall mit Integerarithmetik [=unendliche Genauigkeit] bis zum Ergebnis gerechnet, und dann erst gerundet => Wrong Answer), genauso wie die aeusserst informativen Rueckmeldungen "Correct" und "Wrong Answer" (den Wrong Format lass ich mal weg, weil anstelle dessen oft Wrong Answer kommt, was dem ganzen die Krone aufsetzt: "Mein Prgramm ist doch genau richtig...")

    Weisst du noch welches Problem das mit der schwierigen Berechnungsreihenfolge war?

    Dass als Antwort nur "Wrong Answer" kommt ist aber schon Sinn der Sache. Denn andernfalls koennte man sich Stueck fuer Stueck die verwendeten Testcases zusammenreimen; das hab ich bei einer aehnlichen Seite gesehen, die an meiner Uni aufgesetzt wurde. In richtigen Programming Contests bekommt man auch nur "richtig" oder "falsch" zurueck.





  • Korbinian schrieb:

    Ich glaube es war: http://online-judge.uva.es/p/v101/10137.html

    Jo, die kenne ich. Die ist berüchtigt weil:
    1.) da wohl keiner genau weiß worum es dort geht.
    2.) da [1.] stimmen die Grenzfälle (selbst nachzuprüfen ist sehr schweer) nur selten.
    3.) diese Aufgabe auf einer Partnersite als Fehleranfällig gekenzeichnet wurde.
    4.) sie verdammt schweer ist.

    Ich persönlich habe mit dieser Aufgabe viel Zeit vergeudet. In gleicher Zeit habe ich dann mehrere andere Aufgaben problemlos gelöst, die mir augenscheinlich besser lagen. Der Reihe nach die Aufgaben abzuarbeiten macht keinen Spaß und ist eh kaum machbar. Die Bibliothek an Aufgaben ist riesig. Also laßt Euch nicht entmutiegen.

    Gruß



  • //EDIT
    Hat sich erledigt.
    Der Trick ist cin.eof() abzufragen.

    Aus Langeweile hab ich mich mal bei der oben genannten Seite
    angemeldet und versucht dieses Problem zu lösen

    An sich ist die Aufgabe ja nicht schwer, und mein Code funktioniert auch mit dem
    Beispiel Input. Jetzt hab ich das Ganze mal abgeschickt erhalte aber das Ergebnis:
    "Time limit exceeded". Von Time Limit stand nichts in der Aufgabe, ich kann mir
    aber vorstellen das es daran liegt dass das Programm (da ich ja nicht weiß wieviele
    Paare getestet werden) in einer Endlosschleife läuft.

    (Ich poste mal nur den relevanten Teil, da der Algorithmus selbst funkioniert)

    int main() {
    
            while(true)
                    process_pair();
    
            return 0;
    
    }
    

    Ich nehm an einige von euch werden die Aufgabe bereits einmal gelöst haben
    (hoff ich mal zumindest). Kann das wirklich an der Endlosschleife liegen
    oder weshalb wird mein Code so nicht akzeptiert.


Anmelden zum Antworten