El Comité de Problemas de la Regional Latinoamericana de la ACM ICPC solicita propuestas de problemas para el Concurso Regional, a celebrarse en Noviembre de 2014, en la cual compiten universidades de toda América Latina.
Los autores de los problemas seleccionados serán invitados a participar del desarrollo final del set de problemas y a participar como jueces en algún sitio de competencia.
Para cada problema, es necesario enviar, hasta el 23 de mayo de 2014:
- un archivo en formato PDF conteniendo:
- una descripción precisa del problema, en idioma inglés, con ejemplos de casos de test (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 tests 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 más fácil de la Regional, 10 para el más difícil).
- una solución completa, en C, C++ o Java.
- un archivo de tests que ilustre diferentes escenarios, casos de borde, casos interesantes, etc.
Se rechazarán los envios incompletos o que no cumplan el formato establecido. Notar especialmente que toda la información, excepto archivos de entrada/salida y códigos fuente, debe ir en un mismo PDF.
Para enviar un problema, enviar un mail a problem.setter@gmail.com para recibir información sobre cómo 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 julio, agosto y septiembre para trabajar en su problema (finalizar y mejorar enunciado, soluciones alternativas, creación de los casos de test finales), y de preferencia también tiempo para trabajar en problemas de otros autores
- El autor se debe comprometer a mantener en secreto el problema enviado hasta que el Comité termine la selección de problemas, y en caso de ser seleccionado, hasta luego de finalizar la competencia.
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 los problemas de una edición anterior antes de empezar a escribir. Es sugerido leer más de una. 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 será integrado intentando 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 test 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 testear. 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).