Llamada a la participación en la concepción de problemas

La organización de la Olimpiada Informática Española invita a todo aquel con experiencia previa en concursos de programación a enviar problemas para los concursos de la próxima edición.

Los problemas de la olimpiada suelen centrarse en el diseño correcto y eficiente de algoritmos manteniendo los formatos de la entrada y la salida lo más simples posibles. Los problemas de ediciones anteriores de la OIE y de la Olimpiada Internacional pueden servir de ejemplo para entender qué tipos de problemas se buscan:

Nótese que, además de problemas con el formato típico donde el programa recibe una entrada, realiza cálculos y después imprime una salida, también aparecen problemas donde el programa tiene que realizar una interacción continuada con el juez.

Para garantizar una competición justa e interesante, los problemas deben cumplir las siguientes condiciones:

  • No deben ser conocidos por los participantes potenciales de la olimpiada.
  • No deben haber sido utilizados en competiciones similares recientes.
  • Deben tener un nivel de dificultad que permita su resolución durante el concurso.
  • Deben tener descripciones fáciles de entender y sin ambigüedad.
  • Deben ser problemas atractivos.

El proceso de creación de problemas y construcción del juego completo de un concurso es, pues, una labor creativa apasionante. Para la OIE se requieren muchos problemas tanto fáciles como difíciles, ya que en esta llamada a problemas se recogen problemas no sólo para la final nacional sino también para el concurso clasificatorio abierto online y para algunos concursos regionales de cuyos problemas se encarga la organización central, así que animamos a todos a proponer problemas. En el caso de que el autor del problema prefiera que su propuesta de problema sea considerada sólo para la final nacional (por ejemplo, porque en caso de ser seleccionado para un clasificatorio preferiría proponer el problema para un regional propio) podrá solicitarlo y se respetará su preferencia.

Qué enviar

Cualquier envío de problema debe incluir:

  • La identidad del autor: nombre y apellidos e información relevante que sirva como aval de que se mantendrá la confidencialidad. Por ejemplo: participar en la organización de algún clasificatorio regional, ser profesor de instituto o universidad, contacto personal con alguien del comité organizador o científico...
  • Un enunciado en español en PDF.
  • Una descripción textual de la solución que se espera (la descripción del algoritmo).

Opcionalmente, recomendamos que también se incluya:

  • Implementación de la solución en alguno(s) de los lenguajes admitidos: C++, Java y/o Python.
  • Si el problema tiene otras soluciones alternativas que no se desea dar por buenas (por ineficientes) o que deberían obtener sólo puntuaciones parciales, análisis de las mismas y su implementación en alguno de los lenguajes anteriores.
  • Casos de prueba secretos con los que comprobar la validez de las soluciones. Preferiblemente esos casos vendrán en forma de generadores programados en alguno de los lenguajes admitidos.
  • Información que ayude a entender la motivación que hay detrás del problema (ejemplo: la ambientación celebra el aniversario de algún evento, etc.).
  • Preferencias del autor sobre en qué concursos puede aparecer el problema (sólo final o clasificatorios también).

Los problemas que se propongan deben mantenerse en secreto hasta el final de la edición. A partir de ese momento los autores pueden hacer lo que deseen con ellos, aunque la organización podría solicitarles mantenerlos en secreto para su inclusión en una competición posterior.

Cómo enviar una propuesta

Todo el contenido de la propuesta debe comprimirse en un único fichero .zip y enviarlo a .

Por favor, ten en cuenta que con el envío el autor afirma que tiene los derechos sobre el problema y cede, en exclusividad, el uso de tal problema hasta el final de la edición. Además, cede (de forma no exclusiva) los derechos de reproducción del material del problema de forma perpetua una vez pasada la competición (indicando su autoría).

Quién puede enviar

Se espera que envíen problemas personas con experiencia previa en concursos de programación similares a los de las olimpiadas. Eso incluye (aunque no se restringe) a:

  • Participantes en años anteriores en la OIE y concursos similares (ProgramaMe, AdaByron, SWERC, etc.).
  • Entrenadores que hayan llevado a equipos a olimpiadas y concursos similares.
  • Profesores de programación.

Los autores de los problemas no deben utilizar el problema enviado o las técnicas específicas del mismo en ninguna competición o entrenamiento anterior a la competición. Eso no significa que los autores no puedan participar en entrenamientos u otras competiciones, sino que deberán tomar todas las precauciones para garantizar la confidencialidad del problema propuesto.

Y después de enviar, ¿qué debo esperar?

Tras el envío, se enviará un mensaje de confirmación de su recepción. El comité científico revisará todas las propuestas y seleccionará los problemas que formarán parte de cada uno de los concursos. Es posible que algunos problemas se modifiquen un poco a partir de la propuesta original. Los autores de los problemas seleccionados serán informados después de que se realice el concurso correspondiente y se les dará crédito por haber propuesto el problema. Al final de la edición, se notificará también a los autores de problemas que no han sido utilizados y se les confirmará que pueden utilizarlos en otros concursos (o, en algún caso, puede que se les pida mantenerlos en secreto para ser considerados en la próxima edición).