Este repositório é dedicado ao meu desenvolvimento como programador, focando na resolução de problemas do beecrowd (antigo URI Online Judge). Aqui, busco aprimorar minhas habilidades em algoritmos, estruturas de dados e lógica de programação, enfrentando desafios de diferentes níveis de dificuldade.
O beecrowd oferece uma série de problemas categorizados por nível de dificuldade, variando de iniciante (Categoria 1) a desafios extremos (Categoria 9). A resolução desses problemas permite o desenvolvimento gradual das habilidades de programação, desde os conceitos básicos até técnicas avançadas.
Os problemas no beecrowd são classificados nas seguintes categorias:
- Categoria 1 (Iniciante): Entrada e saída, operações aritméticas, conceitos básicos.
- Categoria 2 (Fácil): Uso de laços, vetores e lógica simples.
- Categoria 3 (Médio): Manipulação de strings, ordenação e busca.
- Categoria 4 (Difícil): Recursão e manipulação de dados mais complexos.
- Categoria 5 (Muito Difícil): Programação dinâmica, grafos e outras técnicas avançadas.
- Categoria 6 (Desafiante): Algoritmos otimizados e análise de complexidade.
- Categoria 7 (Mestre): Estruturas de dados avançadas e algoritmos complexos.
- Categoria 8 (Lendário): Problemas de alto nível para programação competitiva.
- Categoria 9 (Final Boss): Os desafios mais complexos, exigindo conhecimento profundo de teoria e prática.
O principal objetivo deste repositório é documentar minha jornada de aprendizado e progresso na programação. Cada problema resolvido representa uma nova oportunidade de aprendizado e avanço nas habilidades necessárias para resolver desafios mais complexos.
Para manter a organização, cada problema resolvido é armazenado em um diretório correspondente à sua categoria e identificado pelo seu nome. Também adiciono uma breve explicação sobre a solução adotada e as técnicas utilizadas.
beecrowd/
├── Categoria_1/
│ └── problema_001/
│ └── solucao.py
│
├── Categoria_2/
│ └── problema_002/
│ └── solucao.cpp
│
├── Categoria_3/
│ └── problema_003/
│ └── solucao.java
└── ...
Este é um repositório pessoal, mas caso tenha sugestões ou soluções alternativas para algum problema, sinta-se à vontade para abrir uma issue ou enviar um pull request. A troca de conhecimento é sempre bem-vinda!
- Linguagens: ANSI C, C++, Java (a escolha da linguagem depende do problema).
- Plataforma: beecrowd (URI Online Judge).
- Estruturas de Dados: Vetores, Listas, Pilhas, Filas, Grafos, Árvores, etc.
- Algoritmos: Busca, Ordenação, Programação Dinâmica, Algoritmos de Grafos, entre outros.
Se tiver alguma dúvida ou quiser discutir soluções, entre em contato! Qualquer sugestão ou feedback é muito bem-vindo. ✌️