cout

Despues de culminada mi epoca de maratones de la ACM, mi equipo (Guayoyo) y yo empezamos a llenar el vacio de competencias participando en TopCoder. La lógica de TopCoder es un poco distinta a la de los maratones de programación de la ACM, entre las diferencias encontramos que, existe un sistema diferente de evaluación de problemas (por puntajes y tiempo), e incluso de formato en el código fuente (Se definen reglas estrictas acerca de los nombres de las clases y métodos). Para ingresar en TopCoder es necesario tener Java instalado en nuestra maquina, ya que funciona mediante Applets o Java Web Start (el cual recomiendo). A pesar de que el sistema (de ahora en adelante “la arena”) funcione muy bien, la parte de edición de código fuente no es la mas idonia para trabajar en competencias bajo presión. Para solucionar este problema, los programadores de TopCoder ofrecieron la posibilidad de implementar Plugins que se adaptan a la arena y permiten mejorar los editores de texto (o incluso no usarlos del todo). A continuación explicaremos como instalar y configurar algunos Plugins para mejorar nuestra productividad a la hora de realizar competencias dentro de TopCoder.
  1. Obtener el archivo .jws que carga la arena en nuestro computador Para obtener la aplicación de la arena, debemos acceder a este link (Como indicamos anteriormente, se debe tener Java instalado para que este funcione). Descargar la arena
  2. Ingresar al sistema (o registrarse en caso de que no nos encontremos registrados) En el caso de que no se encuentre registrado en el sistema, siga las indicaciones de la aplicación para registrarse
  3. Descargar los Plugins que harán tu vida más fácil Entre los Plugins que puedo recomendar, se encuentran CodeProcessorv2.0, FileEdit y moj
  4. Configurar los plugins dentro de la arena Para instalar los Plugins dentro de la arena se deben seguir los siguientes pasos:
    • Acceder al menú de “Options” y luego la opción “Editor” Options then Editor
    • Al abrirse la ventana de editores, debe presionar click en el botón “Add”, esto abrira otra ventana donde deben ingresar el nombre del editor (CodeProcessor en nuestro caso), en el campo EntryPoint, debemos colocar “codeprocessor.EntryPoint”, y en el campo classpath, al presionar el botón “Browse” debe buscar todos los Plugins (archivos .jar) que descargo en el paso anterior Configuración del Editor
    • Una vez instalado el nuevo editor, presionamos click en el botón “Configure”, se abrirá una nueva ventana donde se debe especificar en el campo “Editor EntryPoint” el valor “fileedit.EntryPoint”, luego presionamos el botón “Add” y en la nueva fila creada asignamos el valor “moj.moj”. Lo que hacemos aquí, es usar CodeProcessor como un manejador de Plugins, que permite usar varios Plugins (en este caso FileEdit y moj) simultaneamente. CodeProcessorConfig
    • Para configurar los plugins de FileEdit y moj, se debe presionar a los botones “Configure”, ahi se tendrán diferentes opciones dependiendo de cada Plugin ConfiugreButtons
    • Para finalizar, ingrese a la configuración de FileEdit, y en la pestaña de “Code Template”, en la opción de C++, ingrese el siguiente contenido $BEGINCUT$ /* $PROBLEMDESC$ */ $ENDCUT$ #line $NEXTLINENUMBER$ "$FILENAME$" #include "string" #include "vector" #include "algorithm" #include "map" #include "iterator" #include "iostream" #include "sstream" #include "cstdio" #include "cmath" #include "cstdlib" #include "queue" #include "stack" using namespace std; class $CLASSNAME$ { public: $RC$ $METHODNAME$($METHODPARMS$) { } }; $BEGINCUT$ $TESTCODE$ $DEFAULTMAIN$ $ENDCUT$ Configuracion FileEdit
  5. Ahora… a programar Una vez instalados y configurados los Plugins, al momento de abrir un problema dentro de la arena, verá que el editor de texto no se encuentra en el programa de la arena, mas bien se muestra un log de acciones. Lo que ocurre es que el contenido del problema es descargado, y con este se genera un archivo que contendrá el enunciado del problema, junto con una implementación que contiene el template establecido en la configuración del FileEdit (que cambiará dependiendo del problema) y un main que ejecuta las pruebas del problema. Coding Area
Pero espere… hay más Si se encuentra en Mac OS X, puede usar este script que implementé (basado en rstakeout) que se encarga de compilar y ejecutar los archivos .cpp modificados, y luego mandar mensajes via Growl. En el momento que el programa cumpla con todas las pruebas exitosamente, saldrá un mensaje diciendo “Send It”. Para enviarlo, sólo debes presionar el botón “Compile” en la arena, y luego al botón “Submit” (Reflejados en la figura anterior). notificación La carita verde es una imagen que configuré manualmente, si quieren tener algo parecido por favor revisen el código fuente y establezcan el lugar donde se encuentra la imagen que quieren usar, las caritas se encuentrán aquí. Espero que estos tips les ayuden a mejorar su rendimiento en TopCoder…
Ningun
Una lista de términos separados por comas que describe el contenido. Ejemplo: GNU, Software Libre, Linux, Debian.
Noticia original: www.lacaraoscura.com

Valid XHTML 1.0 Strict