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.
Imagem de 2014. Da esquerda para direita: [Lucas] (https://www.urionlinejudge.com.br/judge/pt/profile/2796), [Darlyn] (https://www.facebook.com/DarlynAnderson), [Tailo (eu)] (https://tableless.com.br/authors/tailo-mateus-gonsalves/).
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.
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:
Resolvendo o primeiro problema
Este é o problema mais simples do site, vamos ver a descrição e a solução:
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++:
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.