[quote=Anime][quote=Andre Brito]
Essa coisa de idade não tem muito a ver. É uma condição OU outra. Um colega participou em meu time e ele tem 28 (isso a uns 2 anos).[/quote]
Como assim, não tem nada a ver, são regras e se não se encaixar não da mesmo…[/quote]
Como eu falei, é uma condição OU outra. Entrei em 2006 e participei em 2008 (sou de 1988 ). No meu time tinha mais um colega de 1983. Na época ele tava com 26 anos e pode participar de forma tranquila.
[Editado]
Pra quem tá pensando em ir e quer dar uma treinada, aí vão algumas dicas.
Sites com problemas de computação:
- SPOJ (o brasileiro e o polonês): usa o sistema igual ao da maratona ACM ICPC (inclusive com problemas de maratonas). Outro fator interessante é que dá pra usar outras linguagens;
- UVa: idem acima, mas acredito ter mais problemas;
- Google Code Jam: todas as edições possuem moldes parecidos com o da maratona, mas não é necessário submeter o código, e sim pegar as entradas e colocar as saídas;
- TopCoder: meu preferido. É um pouco diferente da maratona porque te dá um ambiente pra codar já. É só fazer um método com o retorno e mandar ver. Dá pra ver e desafiar código de outros programadores. Pode-se programar em C++, C# e Java. Tem um fórum ótimo pra discussão e um ranking com, possivelmente, alguns dos melhores competidores do mundo (no Google Code Jam quem ganhou algumas vezes com o ACRush, segundo colocado do Algorithms do TopCoder). Além de ter mais competições (Design, Studio, Marathon).
Livros:
- Introduction to Algorithms, CLRS (o livrão branco de algoritmos);
- Programming Challenges, Skiena & Revilla;
- Algorithms in C, Sedgewick;
- Concrete Mathematics, Knuth et al.
Quem quiser dar uma estudada BOA em matemática, manda ver. Tem muitos problemas que envolvem Teoria dos Números, Probabilidade e Geometria Computacional.
Mais alguns links interessantes:
Além desses eu tinha um caderno com os algoritmos que precisava em C++, mas não sei onde enfiei :oops: Era tipo um memorex com Dijkstra, BSF, GDC e mais alguns úteis. Quem procurar pelo caderno da PUC RJ possivelmente vai achar. Além desse tem um caderno de algoritmos de um competidor (Vinícius Fortuna) que está hoje no Google. Ele tem muitas dicas pra quem quere entrar no caminho.
Enfim, aí ficaram algumas dicas. O principal pra se dar bem nessas competições? Não tem fórmula mágica: resolver, resolver e resolver.
[Editado2]
Quem fica nas primeiras colocações nessas competições geralmente atinge um lugar ótimo pra se trabalhar. Vide aqui e aqui dois casos interessantes.
[Editado3]
Se atentem aos limites das entradas. Se o problema diz que vai entrar de 0 a 2³²¹²¹², vai acontecer de colocar o maior valor. Portanto, long long (C++) e BigInteger (Java) neles. Alguns casos até quem tem que implementar isso é você (principalmente quando existem números absurdos). Existem algoritmos prontos pra fazer isso, é só pegar, entender e implementar.
E se atentem BASTANTE à performance.