2009-07-28 7 views
9

Me pregunto qué es un buen juez en línea para practicar algoritmos. Actualmente no soy muy bueno escribiendo algoritmos, por lo que probablemente algo bueno (y menos frustrante) sería bueno.¿El mejor juez en línea con buena compatibilidad con Java?

He intentado con el juez en línea de UVA, pero me tomó aproximadamente 20 intentos para obtener la primera pregunta de ejemplo; No había absolutamente ninguna documentación sobre cómo leer la entrada, etc. He leído sobre Topcoder, pero no estoy realmente buscando competir, simplemente practicar.

Respuesta

4

Eche un vistazo al topcoder. Sí, tienen competiciones, pero todavía puedes simplemente "jugar" tú solo. Se le asigna un objetivo y un límite de tiempo, elige su idioma y luego lo codifica. Puede ver el código fuente de los mejores codificadores para mejorarse.

He usado topcoder por un tiempo y nunca he estado en ninguna competencia. Echale un vistazo.

Quizás también desee comprobar Project Euler. No es un juez, pero hay problemas matemáticos y soluciones disponibles para muchos idiomas.

2

Este es un año de edad por ahora, así que mi respuesta es para futuros stumblers.

El ACM-ICPC Live Archive tiene muchos problemas grandes, y en muchas áreas diferentes. (El proyecto Euler también es grandioso, pero los problemas son todos teóricos numéricos.) Y saltar al aro es normal con estas cosas ... la última vez que lo revisé, Facebook Puzzles requiere que envíes un archivo comprimido que contenga el código y un archivo de compilación Ant, y tardan mucho tiempo en responderte.

Solo he enviado código Java a UVa, así que detallaré un poco los detalles de Java para cualquier otra persona que tenga problemas. Su clase debe llamarse al Main, y su punto de entrada debe ser el método main. Has leído en System.in. Si estás en una plataforma Unix-y, después de compilar puede utilizar

Java Main < input.txt

para probar su programa.

La presentación tiene que ser exacta. Por ejemplo, si dicen que "las salidas deben estar separadas por una línea en blanco", eso no significa que "siga cada salida con una línea en blanco". Finalmente, no tengas miedo de revisar sus foros.

Referencia: http://online-judge.uva.es/board/viewtopic.php?t=7429

(En el código de ejemplo, que leen la entrada byte por byte no hacen eso, el uso del escáner en lugar Tampoco es necesario tener el método principal de crear una instancia de.. la clase. Puede ir 100% estático, y con frecuencia los problemas son lo suficientemente pequeños como para que OOP no le compre nada).

+0

Además, desde que escribí esto, TalentBuddy ha sido creado, y es mucho más fácil de usar que el juez de UVa. – johncip

2

CodingBat podría darle algunas buenas prácticas. Responde al instante con los resultados de la prueba.

Cuestiones relacionadas