2009-07-28 6 views
9

Je me demande ce qu'est un bon juge en ligne pour pratiquer des algorithmes. Actuellement, je ne suis pas très doué en écriture d'algorithmes, donc probablement quelque chose de facile (et le moins frustrant) serait bien.Meilleur juge en ligne avec un bon support Java?

J'ai essayé le juge en ligne UVA, mais il m'a fallu environ 20 essais pour obtenir le premier exemple de question juste; Il n'y avait absolument aucune documentation sur la façon de lire les entrées, etc. J'ai lu à propos de Topcoder, mais je ne cherche pas vraiment à faire de la compétition, simplement pour m'entraîner.

Répondre

4

Regardez mieux topcoder. Oui, ils ont des compétitions, mais vous pouvez toujours facilement "jouer" seul. On vous donne un objectif et une limite de temps et vous choisissez votre langue, puis vous le codez. Vous pouvez voir le code source des meilleurs codeurs pour vous améliorer.

J'ai utilisé topcoder pendant un certain temps et je n'ai jamais été en compétition. Vérifiez-le. Vous pouvez également vérifier Project Euler. Pas un juge, mais il existe des problèmes mathématiques et des solutions disponibles pour de nombreuses langues.

2

Ceci est d'un an maintenant, alors ma réponse est pour l'avenir stumblers. Le ACM-ICPC Live Archive a beaucoup de grands problèmes, et dans beaucoup de différents secteurs. (Le projet Euler est aussi génial, mais les problèmes sont tous théoriques.) Et le saut de cerceau est normal avec ces choses ... enfin, j'ai vérifié, Facebook Puzzles vous oblige à envoyer un fichier zip contenant le code et un fichier build Ant, et ils prennent beaucoup de temps pour revenir à vous. J'ai seulement envoyé du code Java à UVa, donc je vais développer un peu sur les détails de Java pour quelqu'un d'autre qui a du mal. Votre classe doit s'appeler Main et son point d'entrée doit être la méthode main. Vous lisez de System.in. Si vous êtes sur une plate-forme Unix-y, après compilation, vous pouvez utiliser

Java Main < input.txt

pour tester votre programme.

La présentation doit être exacte. Par exemple, s'ils disent «les sorties doivent être séparées par une ligne vide», cela ne veut pas dire «suivez chaque sortie avec une ligne vide». Enfin, n'ayez pas peur de consulter leurs forums.

Référence: http://online-judge.uva.es/board/viewtopic.php?t=7429

(Dans leur exemple de code, ils lisent l'entrée octet par octet Ne pas faire cela, utiliser à la place du scanner Il est également pas nécessaire d'avoir la principale méthode créer une instance de.. Vous pouvez devenir 100% statique, et souvent les problèmes sont assez petits pour que la POO ne vous achète rien.)

+0

Aussi, depuis que j'ai écrit ceci, TalentBuddy a été créé, et il est beaucoup plus facile à utiliser que le juge UVa. – johncip

2

CodingBat peut vous donner quelques bonnes pratiques. Il répond instantanément avec les résultats du test.

Questions connexes