Formato del problema (ZIP manual)
Para la mayoría de autores basta el Problem Creator (CDP) o el editor en el sitio. Esta página es para empaquetar manualmente un .zip cuando necesitas control total (por ejemplo Karel, tareas interactivas o validadores personalizados).
Estructura del ZIP (resumen)
Usa un archivo .zip (no RAR/7z). El nombre del archivo da igual.
problem.zip
├── cases/
├── statements/
├── solutions/
├── interactive/
├── validator.cpp
├── settings.json
├── limits.json
└── testplan
Ejemplo de referencia en el repo: frontend/tests/resources/testproblem.zip.
Qué se configura (idea general)
| Área | Significado |
|---|---|
| Tipo de validador | Comparación token a token, sin mayúsculas, tolerancia numérica, “stdout como puntaje” (interactivo) o custom validator.<lang> |
| Lenguajes | Modos permitidos: lenguajes normales, Karel, solo salida (.zip de respuestas; un solo caso puede ser Main.in/Main.out para texto plano), sin envíos |
| Límites | Tiempo CPU por caso, tiempo total, validador, memoria (KiB), tamaño de salida |
| Límite de código | Tamaño máximo del fuente del concursante |
| Público / etiquetas / fuente | Visibilidad y atribución |
cases/
- Pares
.iny.outcon la misma base (1.in/1.out). - Casos agrupados: un punto en el nombre separa grupo y caso, p. ej.
grupo1.caso1.in. - Evita puntos extra si no quieres agrupar.
- Tamaños enormes hacen lento el jueceo en vivo.
statements/
- Markdown por idioma:
es.markdown,en.markdown,pt.markdown. - Vista previa: omegaup.com/redaccion.php.
- Variables tipo
$n$,$x_i$.
solutions/
Opcional, mismo esquema de nombres que statements. Ejemplos en frontend/tests/resources.
interactive/ y libinteractive
Tareas interactivas con libinteractive. Ejemplo: Cave (IOI 2013).
Validador personalizado (validator.<lang>)
Un solo archivo en la raíz: validator.c, validator.cpp, validator.java, validator.p o validator.py.
- Comportamiento típico:
./concursante < data.in | ./validator basecaso. - Puede leer
data.inydata.out. - Debe imprimir un flotante en [0, 1]; vacío → JE.
Manual largo con ejemplos: Manual-for-Zip-File-Creation-for-Problems.md.
testplan y pesos
Si existe, define pesos por grupo; si no, reparto uniforme (coherente con el grader; ver testproblem.zip).