Formato dos problemas

Os enunciados dos problemas da OBI seguem um padrão próprio das competições. O problema é contextualizado, e algumas vezes nem todas as informações que constam do enunciado são necessárias para a resolução do problema. Portanto, é necessário que os competidores exercitem a capacidade de extrair as informações pertinentes à resolução do problema, diferenciando-as daquelas que simplesmente descrevem o cenário. As restrições, que são informações sobre o limite das instâncias de teste, também são apresentadas no enunciado. Esse é outro aspecto que causa estranheza aos iniciantes, que com frequência implementam essas restrições para filtrar os dados de entrada. Essas informações são disponibilizadas para dimensionar adequadamente as variáveis (tipo de dados que comportem os limites apresentados) e a eficiência da solução algorítmica. O enunciado contém também exemplos: algumas instâncias de teste para que a solução possa ser testada antes de ser submetida para avaliação.

Esse mesmo formato é adotado em outras competições, tal como a Maratona de Programação da SBC, que segue os moldes da ICPC - ACM. Há vários sistemas de treinamento online que também seguem esse padrão, tal como o Uri, Spoj, UVA, CodePit. Além de oferecer um grande volume de problemas, essas plataformas disponibilizam mecanismos de avaliação automática das soluções.

A avaliação automática das soluções fornece os dados de entrada ao programa e compara os dados de saída gerados com os dados de saída corretos. Esse padrão de avaliação (por comparação de entradas e saídas) é utilizado por diferentes julgadores automáticos, tanto em competições (como por exemplo a Maratona de Programação (MARATONA, 2018)) como em sites de treinamento (URI Online Judge, Sphere Online Judge).

Em 2019, para os treinamentos optamos por usar o Uri.