ACM ICPC Latinoamérica 2012. Llamado a presentar propuesta de problemas

El Comité de  Problemas de la Regional Latinoamericana  de la ACM ICPC solicita problemas para su prueba, a para el evento regional del día 10 de noviembre de 2012, en la cual compiten universidades de Argentina, Bolivia, Brasil, Costa Rica, Chile, Colombia, Cuba, Jamaica, México, Paraguay, Peru, Puerto Rico, Republica Dominicana, Trinidad y Tobago y Venezuela.

Los  autores  de los problemas seleccionados serán invitados a participar del desarrollo final de la prueba regional y a participar como jueces en algún sitio de competencia.

Para cada problema, es necesario enviar, con fecha límite el 15 de julio de 2012, lo siguiente:

* Un archivo en formato PDF conteniendo:

    – Una descripción precisa del problema, en inglés, con ejemplos de casos de prueba.  (Es bienvenida pero no es  necesaria la historia de fondo)

    – Una descripción de las estrategias posibles de solución. Para problemas en los que el  tiempo de ejecución es relevante, indicar la complejidad máxima aceptable.

    – Un plan de pruebas simplificado, indicando características de los tests que sean importantes para verificar la correctitud de las soluciones.

    – Una estimación de la dificultad del problema para los competidores. (1  para el  problema mas  fácil de  la Regional,  10 para el más difícil)

* Una solución completa, en C, C++ o Java.

* Un  archivo de  pruebas que  ilustre diferentes  escenarios,  casos de borde, casos interesantes, etc.

El envío debe realizarse a alberto.lamadrid@gmail.com, con copia a pperezm@itesm.mx, para recibir información sobre como proceder.

Restricciones:

* El autor no puede ser competidor,  coach ni director de  sede en la Regional.

* El autor debe tener tiempo  disponible durante los meses de agosto e septiembre  para  trabajar en su problema  (finalizar y mejorar enunciado, soluciones  alternativas, creación de los casos de prueba finales), y de preferencia también tiempo para trabajar en problemas de otros autores.

* El  autor se  debe compremeter  a  mantener en secreto el problema enviado hasta que el Comité termine la selección de problemas.

Los problemas  no seleccionados podrán ser utilizados por los autores que los enviaron para otras competencias, o para enviar otro año.

Sugerencias para escribir un buen problema

* Si nunca lo ha hecho, lea al menos el set de problemas de Laatinoamerica de 2011, antes de empezar a escribir. Se sugiere leer más de un set. Por leer queremos decir entender la  idea de cada problema, no simplemente mirar las letras.

* Hacen falta problemas de todas las dificultades. Un buen problema no es equivalente a problema difícil.

* Hay  muchos temas para problemas  (grafos, programación  dinámica, geometría, aritmética,  goloso, backtracking, estructuras  de datos, etc). Generalmente grafos y programación dinámica suelen ser los más populares y el set  intentará diversificar. Nota: Está bien que un problema toque varios temas.

* Conviene dejar bien claro cuáles son las entradas válidas, incluyendo límites para todos los parámetros.

* Los  problemas  con salida única por caso de prueba son  muy preferibles. Si  una idea tuviera una salida múltiple  posible, hay varias técnicas  que se pueden usar para volverla única fácilmente (lexicográficamente  menor,  pedir sólo  el  mínimo/máximo y no la descripción de cómo se llega a él, etc).

* Los problemas de decisión son  más difíciles de probar. Intente que la salidas posibles de su problema tengan varios valores (un entero, una cadena, etc).

* Salvo que  la idea  del problema sea directamente relacionada  a la entrada/salida  (por ejemplo, problemas  de parsing o de dibujo en pantalla),  tanto entrada como salida deben ser lo más simples posibles  para leer  usando los  mecanismos estándar (scanf/printf, cin/cout, BufferedReader/System.out.println).