Ferramentas para preparação de contests, por Daniel Saad.
Para mais informações sobre os comandos ou sobre a ferramenta, leia a documentação.
Estas ferramentas para preparação de contests são inspiradas na suíte de ferramentas ejtools, elaborada pelo Prof. Edson Alves (UnB/FGA), mas elas seguem uma abordagem diferente, uma vez que são baseadas na biblioteca testlib, utilizada na preparação de problemas do Codeforces e desenvolvida por Mike Mirzayanov.
Atualmente, esta coleção de ferramentas suportam a exportação de problemas para os seguintes sistemas:
- BOCA
- Polygon
- SQTPM
Para rodar as ferramentas é necessário ter instalado de antemão:
python>= 3.8: as principais ferramentas estão escritas nesta linguagem;pdflatex: para geração de PDFs a partir de arquivos .tex;pdfjam: para fazer a união de arquivos PDFs, geralmente disponível junto com o ambiente LaTeX;make, para compilação dos fontes e instalação dos executáveis a partir dos makefiles gerados;g++>= 4.8: para compilação dos fontes.zip: para empacotamento no formato BOCA.
- Criar problemas competitivos localmente.
- Criar maratonas a partir dos problemas criados.
- Exportar problemas para o BOCA, Polygon ou SQTPM.
- Baixar e converter problemas do Polygon para o formato da ferramenta.
Para instalar a ferramenta, basta executar o comando abaixo:
pip install ds-contest-toolsPara outros modos de instalação, consulte a documentação.
Para rodar a ferramenta, utilize o comando ds-contest-tools.
A ferramenta é utilizada da seguinte forma:
ds-contest-tools init problem_dir
ds-contest-tools build problem_dirOnde problem_dir é o diretório onde o problema será inicializado e compilado. Use o comando ds-contest-tools --help para obter mais informações sobre os comandos disponíveis.
Para o primeiro uso ao converter problemas do Polygon, será necessário definir as chaves da API do Polygon. Tais chaves são armazenadas localmente no diretório raiz da ferramenta em um arquivo JSON.