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).