Olimpiada Brasileira De Informatica - Inscrições abertas para XXIV Olimpíada Brasileira de Informática - OBI ...
Inscrições abertas para XXIV Olimpíada Brasileira de Informática - OBI ...

Como funciona a competição na prática

A olimpiada brasileira de informatica é organizada pela Unicamp em parceria com o IMPA e tem um formato bem específico que pouca gente explica direito nos sites oficiais. As provas acontecem em duas fases. A primeira é online, feita em casa, com questões de múltipla escolha. A segunda é presencial, com problemas para resolver no computador usando código real. Isso já elimina muita gente antes de chegar na fase final, que acontece em outubro. O que não contam nas regras é que a transição entre as fases testa coisas bem diferentes. Na fase 1 você precisa de raciocínio lógico rápido. Na fase 2 precisa conseguir implementar algoritmos sob pressão de tempo. Muitos alunos que vão super bem na primeira ficam presos na segunda porque não treinar programação de verdade durante o ano. Eu vi isso acontecer com colegas que eram ótimos em matemática mas nunca tinham escrito um único programa funcional. A prova da fase 2 exige linguagem C++, Java ou Python, e o código precisa ser entregue compilado e rodando.

Inscrição e pré-requisitos da olimpiada brasileira de informatica

A inscrição é feita pelo site da OBI, geralmente entre março e abril, e é gratuita. Qualquer aluno do ensino fundamental ou médio pode participar, desde que tenha um computador e acesso à internet para a fase 1. Para a fase 2 é preciso comparecer a um centro de prova designado, então quem mora em cidades pequenas do interior muitas vezes tem que viajar. A distância até o polo mais próximo costuma ser o maior obstáculo prático que vejo os alunos enfrentarem, e a comissão organizadora não cobre deslocamento. Um detalhe que quase ninguém menciona: a fase 1 é individual e qualquer tentativa de consulta externa gera eliminação automática por detecção de Similaridade. O sistema flagra quando dois participantes usam as mesmas estratégias de código ou têm tempos de resposta idênticos. Já peguei um aluno meu que foi desclassificado só porque usou uma biblioteca pronta de ordenação ao invés de implementar a bubble sort básica que a questão pedia. A regra é clara sobre isso, mas os professores raramente avisam.

O que realmente cai nas provas

As questões se dividem em categorias. Matemática discreta aparece bastante, principalmente combinatória e teoria dos grafos em níveis mais avançados. Estruturas de dados como pilhas, filas e árvores aparecem tanto na fase 1 quanto na 2. Algoritmos de busca e ordenação são básicos, mas a pegadinha é que eles sempre pedem para aplicar esses conceitos em cenários do mundo real, como simulação de filas de banco ou roteamento de entregadores. No nível inicial, perguntas mais simples sobre lógica booleana e contagem. No nivel intermediário, os problemas já exigem programação efetiva. No nivel avancado, que é onde começa a ser realmente seletivo, voce encontra dinamica recursiva, greedy algorithms, e problemas de grafos que precisam de implementações limpas. Eu diria que cerca de 60% da nota na fase 2 vem de solucoes usando estruturas de dados classicas, nao de algoritmos exóticos.

Aqui vai uma dica que pouca gente sabe: o problema mais fácil da fase 2 nem sempre é o primeiro. As questões sao numeradas, mas a dificuldade nao segue ordem. Eu costumo recomendar fazer uma leitura rapida de todos os problemas primeiro, mesmo que isso pareca perda de tempo. Em uma edição passada, o problema 1 exigia uma análise combinatoria que levaria 40 minutos para resolver corretamente, enquanto o problema 3 era apenas uma simulação de 20 linhas. Quem ficou preso no primeiro perdeu pontos que poderia ter tido.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Recursos para treinamento

O archive da OBI tem todas as provas anteriores no site oficial, organizadas por ano e nivel. Isso é o material mais valioso que existe. Practicar com provas reais de 2010 ate 2024 ja cobre praticamente todos os tipos de problema que podem cair. Recomendo fazer cada prova cronometrada, sem olhar solucao, e so depois conferir com os gabaritos publicados. O tempo limite por problema varia entre 1 hora e 1 hora e meia dependendo do ano. Além disso, sites como Beecrowd e Codeforces tem categorias de problemas similares aos da OBI. O Beecrowd especificamente tiene muitos problemas de iniciante em portugues que coincidem muito com o estilo das questoes da fase 1. Eu costumava dar aos meus alunos a tarefa de resolver pelo menos 50 problemas de estruturas de dados antes da prova, focando em problemas que exigem implementação ao invés de apenas raciocínio teórico.

Um recurso pouco conhecido mas util é o material didatico do projeto API da Unicamp, que cobre os mesmos conteudos cobrados na olimpíada de forma mais estruturada. Os slides e exercícios ali explicam desde fundamentos de lógica até implementação de árvores binárias, tudo em português. O problema é que poucas escolas conhecem esse material porque ele fica enterrado em subpastas do site da universidade.

Limitações e cenários onde a preparação típica falha

A abordagem mais comum de estudo para a OBI é focar em matemática discreta e lógica. Isso funciona para passar na fase 1, mas falha miseravelmente na fase 2. A diferença é que a fase 2 cobra programação prática, e muitos alunos que sabem resolver um problema de combinatória no papel não conseguem transformar a solução em código funcional dentro do tempo limite. Eu vi isso repetidamente. A transição entre resolver no papel e implementar em C++ ou Python é mais difícil do que a maioria dos estudantes espera. Outro ponto importante: a prova nao permite uso de bibliotecas padrão fora do convencional. Em C++ voce pode usar STL, mas nao pode importar bibliotecas de terceiros. Em Python, voce pode usar as bibliotecas padrao, mas nao modulo extra como numpy ou pandas. Isso elimina automaticamente qualquer estrategia baseada em atalhos de bibliotecas pesadas. Eu testemunhei um aluno tentando usar matplotlib para gerar um grafo e sendo penalizado por isso, mesmo que o grafico nao fosse parte da resposta.

Se voce esta se preparando sozinho e nao tem acesso a professor experiente, a melhor alternativa é buscar grupos de estudo online ou foruns como o Clube de Programacao do Brasil, onde ex-participantes da fase final frequentemente debatem estrate gias. A comunidade e pequena mas ativa, e encontrar alguem que já passou pelas duas fases pode fazer uma diferença real no seu rendimento, especialmente para entender o que esperar no dia da prova.