Ir para o conteúdo

Formato do problema (ZIP manual)

Para a maioria dos autores, o Problem Creator (CDP) ou o editor no site basta. Esta página é para empacotar manualmente um .zip quando você precisa de controle total (por exemplo Karel, tarefas interativas ou validadores personalizados).

Vídeos

ZIP manual: parte 1, parte 2. CDP: YouTube.

Layout do ZIP (resumo)

Use .zip (não RAR/7z). O nome do arquivo é arbitrário.

problem.zip
├── cases/
├── statements/
├── solutions/
├── interactive/
├── validator.cpp
├── settings.json
├── limits.json
└── testplan

Referência no repositório: frontend/tests/resources/testproblem.zip.

O que se configura

Área Significado
Tipo de validador token, sem maiúsculas, tolerância numérica, “stdout como pontuação” (interativo) ou custom validator.<lang>
Linguagens Modos: linguagens normais, Karel, somente saída (.zip de respostas; caso único pode ser Main.in/Main.out), sem envios
Limites Tempo CPU, tempo total, validador, memória (KiB), tamanho de saída
Limite de código Tamanho máximo do fonte
Público / tags / fonte Visibilidade e atribuição

cases/

  • Pares .in / .out com o mesmo prefixo.
  • Agrupamento: ponto no nome, ex. grupo1.casoa.in.
  • ZIPs muito grandes deixam o julgamento lento.

statements/

solutions/

Opcional. Exemplos em frontend/tests/resources.

interactive/ e libinteractive

libinteractive. Exemplo: Cave (IOI 2013).

Validador customizado (validator.<lang>)

Um arquivo na raiz entre validator.c, validator.cpp, validator.java, validator.p, validator.py. Deve imprimir float em [0, 1]; vazio → JE.

Manual longo: Manual-for-Zip-File-Creation-for-Problems.md.

testplan

Pesos por grupo ou repartição uniforme; ver testproblem.zip.

Documentação relacionada