Ir para o conteúdo

API de problemas

Endpoints para criar, atualizar e gerenciar problemas de programação.

Criar problema

POST problem/create/

Cria um novo problema.

Privilégios: Usuário logado

Parâmetros: - title (string, obrigatório): Título do problema - alias (string, obrigatório): Alias do problema - source (string, opcional): Fonte do problema (por exemplo, "OMI 2020") - public (int, obrigatório): 0 para privado, 1 para público - validator (string, obrigatório): Tipo de validador (veja abaixo) - time_limit (int, obrigatório): Limite de tempo em milissegundos - memory_limit (int, obrigatório): Limite de memória em KB - problem_contents (FILE, obrigatório): arquivo ZIP com conteúdo do problema

Tipos de validador: - literal: correspondência exata - token: comparação token por token - token-caseless: comparação de token sem distinção entre maiúsculas e minúsculas - token-numeric: Comparação numérica com tolerância - custom: validador definido pelo usuário

Resposta:

{
  "status": "ok",
  "uploaded_files": ["file1.in", "file1.out", ...]
}

Obtenha detalhes do problema

GET problems/:problem_alias/details/

Retorna detalhes do problema dentro de um contexto de concurso.

Privilégios: Usuário logado; concursos privados exigem convite

Parâmetros: - contest_alias (string, obrigatório): alias do concurso - lang (string, opcional): Idioma (padrão: "es")

Resposta:

{
  "title": "Problem Title",
  "author_id": 123,
  "validator": "token-numeric",
  "time_limit": 3000,
  "memory_limit": 65536,
  "visits": 1000,
  "submissions": 500,
  "accepted": 200,
  "difficulty": 5.5,
  "creation_date": "2020-01-01T00:00:00Z",
  "source": "OMI 2020",
  "runs": [...]
}

Documentação Relacionada