Cada capitulo deste livro termina com um conjunto adequado de problemas de desafios de programacao. Estes desafios foram cuidadosamente seleccionados dentre mais de 1000 tais problemas cobrados ao site de Universidad de Valladolid. Estamos destinados a clara, problemas inteligentes com diferentes graus de dificuldade. Estamos especialmente olhou para essa centelha de insight que transforma um problema em um desafio. A descricao de cada problema selecionado foi editado pela exatidao e legibilidade. Temos tentado preservar a cor local e sabor original de cada problema, enquanto que a linguagem razoavelmente consistente. O numero de identificacao para cada problema, em ambos os sites julgadores e prestado. Esses numeros sao importantes para uma boa apresentacao. O primeiro numero para cada par esta associado http://www.programming-challenges.com; o segundo numero obras sobre http://online-judge.uva.es. Para dar uma ideia quanto a relativa dificuldade dos problemas, cada um tem sido anotados em tres formas diferentes. Primeiro, cada problema tem sido atribuido um grau de A, B ou C, refletindo quantas solucoes o juiz corrigir tem visto ao longo dos anos. Problemas A sao presumivelmente mais facil de resolver ou de alguma maneira mais atraentes do problemas B. Em segundo lugar, a frequencia que apresentou solucoes para cada problema sao aceitos pelo juiz e classificada como alta, media ou baixa. Minimo pode indicar percentagens particularmente sensivel juizes, ou talvez os problemas que exigem mais do que o inicialmente aparente sutileza. Ou eles podem refletir apenas bugs no teste casos que ja foram corrigidos. Por isso, nao obsedar demasiado sobre estas classificacoes. Finalmente, fazemos uma avaliacao subjetiva (de 1 a 4) do nivel academico necessario para resolver o problema. Os numeros mais elevados indicam problemas mais sofisticados. Boa sorte, e happy hacking! PC/UVa IDs: 110103/10137, Popularidade: B, Taxa de Sucesso: Medio Level: 1 Um grupo de estudantes e membro de um clube que viaja anualmente para locais diferentes. Seus destinos no passado ter incluido Indianapolis, Phoenix, Nashville, Philadelphia, San Jose, e Atlanta. Esta Primavera eles estao a planear uma viagem a Eindhoven. O grupo concorda com antecedencia para partilhar as despesas da mesma forma, mas nao e pratico para compartilhar todos os gastos, uma vez que ocorre. Assim, individuos do grupo especial para pagar as coisas, tais como refeicoes, hoteis, passeios de taxis, e os bilhetes de aviao. Apos a visita, cada despesa dos alunos sao registradas e dinheiro e trocado por forma a que o custo liquido para cada um deles seja o mesmo, para dentro de um centimo. No passado, esse dinheiro foi troco tedioso e demorado. Seu trabalho e o de calcular, a partir de uma lista de despesas, o montante minimo de dinheiro que deve mudar de maos, a fim de equalizar (dentro de um centavo) todos os alunos dos custos. Entrada Padrao de entrada ira conter as informacoes de varias viagens. Cada visita consiste em uma linha contendo um inteiro positivo n denota o numero de alunos sobre a viagem. Isto e seguido por n linhas de entrada, cada uma contendo o montante gasto por um estudante em dolares e centavos. Nao existem mais de 1000 estudantes e nenhum