Maratona de programação e Uri Online Judge

Por que você também deve participar?

por Tailo Mateus Gonsalves 04/02/2018 Comentários ~ 3 min. / 486 palavras

A maratona de programação é uma competição anual de programação entre universidades do mundo todo. Além desse conceito, posso dizer muito mais sobre. Participei por três anos (2013, 2014, 2015), vou lhe contar porque a maratona mudou a minha carreira de desenvolvedor.

Como funciona?

Basicamente são três pessoas, usando apenas um computador. O objetivo principal é resolver o maior número de problemas em 5 horas de provas. Cada submissão errada é descontada 20 minutos, o tempo é muito importante e serve como fator de desempate.
Geralmente os assuntos dos problemas são ad hoc (força bruta), strings, estrutura de dados, grafos, matemática, geometria computacional e paradigmas. Os problemas possuem um tempo para compilar, isso varia de acordo com a descrição do problema. Muitas equipes optam em utilizar linguagens como C ou C++, pois são mais rápidas e diminuem a chance de ganhar um “Time limit exceeded”. Além disso cada problema acertado, a equipe ganha um balão em uma cor especifica. O foco é o balão.

Por que devo participar?

Primeiramente, se você não treinar os assuntos durante o ano, com certeza você vai muito mal na prova. Os caras fodas que vemos por aí, não chegaram lá sem estudar. Além de ficar bom em resolver problemas nos assuntos citados. Ainda desenvolve outras habilidades comportamentais.

Trabalhar em equipe

Já vi muitas pessoas fantásticas individualmente, porém quando juntas em uma equipe, tendo que dividir apenas um computador para escrever a solução e compilar o código não eram tão boas assim. Além de muito treino juntos, em certos momentos é primordial parar e ouvir outras ideias. No fim, o objetivo principal é resolver o maior número de problemas com a ajuda da equipe. São habilidades e experiências que são levados para a vida inteira.

Minha equipe de programação
Imagem de 2014. Da esquerda para direita: Lucas, Darlyn, Tailo (eu).

Como nós estudávamos?

Bom, demorei todo esse tempo para chegar no meu objetivo. Você também pode estudar e começar agora. Nós estudávamos revolvendo os problemas do Uri Online Judge.

Categorias Uri Online Judge

Para utilizar acesse o site e crie uma conta em português, inglês ou espanhol. Algumas vezes tem competições iguais a maratona, fica ligado no menu contests ;)

Os problemas estão separados por assuntos e possuem nível entre 1 à 10. Atualmente existe quase 2000 mil problemas e podem ser resolvidos com estas linguagens:

Linguagens disponíveis no Uri Online Judge

Resolvendo o primeiro problema

Este é o problema mais simples do site, vamos ver a descrição e a solução:

Primeiro problema no Uri Online Judge

Neste caso o problema pede dois números na entrada e a saída exatamente igual ao exemplo. Resumidamente, somar dois valores.

A solução em C++:

Solução do primeiro problema no Uri Online Judge

A utilização do C++ é da minha preferência, mas você pode usar outras :D

Conclusão

Posso garantir que aprendi muito fazendo os problemas da Uri Online Judge, caso queira ver meu perfil. Se você quer ver mais posts como esse ou com resoluções de problemas da Uri Online. Me chama em alguma rede social, no email ou aqui nos comentários.