Manual FastTrack de PC2 M.C. Juan Carlos Olivares Rojas jcolivar@itmorelia.edu.mx http://antares.itmorelia.edu.mx/~jcolivar/ @jcolivares
Marzo 2010
PC2
• Programming Contest Control es un software basado en Java para la realización de los concursos de programación de la ACM realizado por la universidad de California en Sacramento. • Se puede descargar del sitio http://www.ecs.csus.edu/pc2/
oficial:
• Al descomprimir el archivo se deberá copiar el archivo pc2v9.ini al directorio bin
PC2
• En el archivo pc2v9.ini se guardan las configuraciones básicas de donde se encuentran los servidores (puerto y dirección IP) en el caso de ejecutar el servidor se puede dejar en localhost. Para los clientes, es necesario colocar la dirección IP o nombre de dominio del servidor. El puerto predeterminado es el 50002. • El primer proceso en ejecutar será pc2server
PC2
• Los archivos *.bat son para Sistemas Windows (revisar configuración de Java) y los shellscripts para cualquier sistema *X (Unix, Linux, Mac OS X). • La contraseña del servidor es site1 y el password es site1. Se pedirá que definan una contraseña para el concurso. Favor de no perderla ya que si no, no se podrá ejecutar el sistema.
PC2
• El siguiente proceso a correr es el administrador: pc2admin. Si se corre en consola favor de pasar el argumento & para que el proceso se ejecute en el transfondo. • La contraseña es administrator1 al igual que el password. En el sistema de administración se pueden configurar muchas cosas que a continuación se describen.
PC2
• En cuentas habrá que definir el número de cuentas a utilizar: por default ya se cuenta con una cuenta de administrador pero será necesario definir al menos una cuenta de jueces, tablero y equipos (número de participantes). Se pueden cambiar el nombre y password aunque para fines prácticos se dejarán igual. • Se habilitará la opción de juez automático. Si se deja deshabilitado (opción predeterminada) se deberá hacer un jueceo manual.
PC2
• El jueceo automático se basa en archivos tanto de entrada como de salida. • La opción de lenguajes es otra que se debe de activar. Ya existen algunos lenguajes predeterminados, sino existe se deberá indicar en la máquina servidora donde existe el compilador y las demás herramientas de desarrollo. • Se manejará lenguaje Java y ANSI C.
PC2
• La configuración de los problemas se da en el apartado de problemas. Aquí se deberá indicar lo siguiente: • • • • • •
El nombre del problema El tiempo (predeterminado de 120 segundos) La entrada, activarla por archivo El archivo de resultados El tipo de jueceo deberá ser automático El validador a aplicar será diff
PC2
• La última opción dentro de la configuración será el manejo de tiempos. En esta misma opción se puede iniciar el concurso. • Es necesario ejecutar los procesos de jueces, tablero, equipos y por último arrancar el concurso. • La contraseña para el juez (pc2judge) es judge1 al igual que el password. No se configura nada.
PC2
• Para el tablero (pc2board) el usuario es scoreboard1 al igual que la contraseña. Tampoco hay configuración importante aquí • Finalmente hay que correr las versiones cliente: team1 en nombre de usuario y contraseña para el equipo1. • En el cliente se deberá indicar el problema, el lenguaje y anexar los archivos de código
PC2
• Se cuenta con la opción de test que permite verificar si el programa compila de forma adecuada en nuestra máquina (para no gastar un intento). • Otra de las utilidades a manejar es pc2ver que indica la versión del sistema y pc2reset que se deberá ejecutar cuando se quiera correr otro concurso.
PC2
• //Lectura de datos en Java • BufferedReader br = new BufferedReader (new InputStreamReader (System.in), 1) • int num = Integer.parseInt(br.readLine()); •… • //Salida de datos • System.out.println(resultado); • //IMPORTANTE: Verificar como debe de ir la salida de datos
Dudas