Mejora tus habilidades de Programacion
Filed Under (ACM, Programacion, Turoriales) by Ecarrion on 18-10-2008
Tagged Under : ACM, C++, Java, Programacion
Hace mucho tiempo quería escribir esto por si alguien todavía no lo conoce, resulta que un buen método para aprender, pasar el rato, divertirse (algunos), es hacer problemitas de programación denominados de la ACM, que son unas maratones mundiales de programación, la cual se basa en resolver una cantidad de problemas en un tiempo determinado, estos problemas (los de las maratones) son muy difíciles, pero hay otros que no entran en las maratones que son relativamente fáciles y sirven para ir cogiendo el truquito al juez que nos califica los problemas.
La dinámica de estos problemas es la siguiente:
- Se nos presenta el problema, se da una pequeña introducción y se nos dice que tenemos que hacer (aveces por ser esta en ingles, hay palabras o expresiones un poco confusas y que tendremos que leer varias veces).
- Se nos explica como sera el Input y como debe ser el Output de este, cabe aclarar que todo, hasta la mas mínima coma o espacio debe ser puesta tal y como dice que debe ser el Output.
- Se nos presenta un Sample Input, en el cual se nos da un ejemplo de los parámetros que recibirá el programa; y Un Sample Output en el cual se nos muestra los resultados que debe mostrar nuestro programa mediante la salida estándar (cout, System.out.print(), etc.) de acuerdo a la entrada recibida.
- El juez, que es el que califica nuestros programas actúa de la siguiente manera, primero corre nuestro programa con muchos casos de prueba y redirecciona la salida a algún archivo de texto, después compara su archivo con el que produjo nuestro programa y si este difiere en lo mas mínimo, nos dará un gran (Wrong Answer).
También cabe aclarar la mayoría de jueces online soporta múltiples lenguajes de programación, los lenguajes aceptados por casi todos los jueces son: C, C++, Java y Pascal.
Por ultimo solo nos queda programar y hacer bastantes debugs y pruebas para corroborar que todo se haga perfectamente.
Yo personalmente uso 2 jueces: el de La universidad de Valladolid y ACM-ICPC, en los 2 nos tenemos que registrar antes de empezar al subir nuestros problemas, de verdad que es una actividad muy enriquecedora, puesto que con esta podemos mejorar bastante nuestras habilidades como programadores.
Si Nunca has usado este sistema o recién estas empezando a programar puedes espesar con un problema como este: Speed Limit que es realmente muy fácil; pero por si alguien necesita algo de ayuda aqui esta mi codigo fuente.
Saludos!
