Resolução de problemas/Introdução
Introdução
editarEsse wikilivro tem como objetivo ser uma coletânea de soluções para problemas de propostos em competições de programação como a Olimpíada Brasileira de Informática, a Maratona de Programação da SBC (Sociedade Brasileira de Computação) [1], a ACM International Collegiate Programming Contest, o TopCoder [2], entre outros.
O objetivo dessas competições é medir a capacidade dos competidores a desenvolver e implementar soluções para problemas. O formato de cada tipo de competição é diferente e pode exigir estratégias específicas.
Cada competição permite a utilização de certas linguagens de programação pré-estabelecidas. Algumas competições são até orientadas para uma determinada linguagem. É importante ter facilidade em uma linguagem de programação "popular", como C, C++ ou Java para poder participar do maior número possível de competições de forma competitiva. É especialmente importante conhecer, além dos recursos básicos da linguagem, todas as funcionalidades oferecidas nas linguagens padrão, pois aumentam consideravelmente o leque de construções pré-definidas e o uso das mesmas torna mais rápida a implementação de suas soluções.
Resolvemos organizar a apresentação dos problemas e de propostas de solução em ordem de dificuldade e, dentro de cada grau de dificuldade, de forma temática. Essa abordagem tem como objetivo incentivar o leitor a se desenvolver em todas as áreas e não ser apenas bom para resolver, digamos, problemas numéricos.
A leitura desse wikilivro por si só não tornará o leitor uma fera em competições de programação. Para isso, é necessário praticar essa atividade de forma intensiva. Para tanto, recomendamos o sítio [3] que disponibiliza um repertório de centenas de problemas, organiza competições em linha, etc.