Skip to content

FACOMpetindo/programacao-competitiva

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Programação Competitiva

🤵 Introdução

Programação Competitiva é classificada como um mind sport, uma competição intelectual que foca no desenvolvimento das habilidades cognitivas. Busca incentivar a resolução de problemas dentro de um espaço de tempo determinado, de forma eficiente, para isso, é necessário conhecer algoritmos e estruturas de dados que auxiliam na resolução desses problemas.

No Brasil destacam-se a Olimpíada Brasileira de Informática (OBI), que é uma competição de programação para alunos do ensino fundamental, médio, técnico, assim como calouros em cursos de graduação. A Maratona de Programação da SBC e a Maratona Feminina de Programação, ambas voltadas para alunos de ensino superior.

O foco deste livro é auxiliar e preparar alunos interessados em participarem de competições de programação, ou mesmo os que desejam somente melhorar suas habilidades em programação, com um enfoque especial para conteúdos e exercícios da OBI.

📖 Conteúdo

O conteúdo desse repositório é dividido em duas linguagens: C++ e Python, elas foram escolhidas por serem as mais utilizadas em programação competitiva, e aceitas nas competições nacionais e internacionais.

Cada linguagem possui sua própria divisão com vários artigos que podem ser acessados pelo menu lateral, eles foram pensados para serem lidos em sequência, entretanto caso você seja um leitor mais experiente, pode ler os que chamarem sua atenção primeiro. Ademais, cada linguagem apresenta uma estrutura semelhante de artigos, porém, com com alguns artigos a mais ou a menos e exemplos diferentes, seguindo as particularidades de cada linguagem.

Atualmente, todos os exercícios são retirados do Beecrowd, que é um juiz online brasileiro com uma grande variedade de problemas de programação competitiva, muito utilizado por competidores brasileiros e responsável por hospedar a Fase Zero da Maratona de Programação da SBC anualmente.

Caso você queira ver a solução de algum exercício, você pode acessar o nosso repositório de soluções

❓ Como contribuir

Caso queira contribuir, por favor acesse o nosso repositório no GitHub e veja o guia de contribuição.

🧠 Pré-requisitos

Não é necessário saber ambas Python e C++, os artigos são independentes, então você pode escolher a linguagem que preferir, ou até mesmo ler os dois.

Levando em conta a linguagem escolhida, esse livro assume que você já sabe conceitos bases das linguagens, como:

  • Variáveis
  • Tipos de dados
  • Estruturas de controle
  • Estruturas de repetição
  • Vetores e listas
  • Matrizes e dicionários
  • Funções

💻 Linguagens