Você está na página 1de 10

OBI2010 Caderno de Tarefas

Modalidade Programao N 1, Fase 1 ca vel


27 de maro de 2010 c A PROVA TEM DURACAO DE 4 HORAS

Promoo: ca

Patroc nio:

Olimp ada Brasileira de Informtica OBI2010 a

Instrues co
LEIA ATENTAMENTE ESTAS INSTRUCOES ANTES DE INICIAR A PROVA
Este caderno de tarefas composto por 9 pginas (no contando a folha de rosto), numeradas de 1 a 9. e a a Verique se o caderno est completo. a A prova deve ser feita individualmente. E proibido consultar a Internet, livros, anotaes ou qualquer outro material durante a prova. E permitida co a consulta ao help do ambiente de programao se este estiver dispon ca vel. As tarefas tm o mesmo valor na correo. e ca A correo automatizada, portanto siga atentamente as exigncias da tarefa quanto ao formato da ca e e entrada e sa de seu programa. da No implemente nenhum recurso grco nas suas solues (janelas, menus, etc.), nem utilize qualquer a a co rotina para limpar a tela ou posicionar o cursor. As tarefas no esto ordenadas, neste caderno, por ordem de diculdade; procure resolver primeiro as a a questes mais fceis. o a Preste muita ateno no nome dos arquivos fonte indicados nas tarefas. Solues na linguagem C devem ca co ser arquivos com suxo .c; solues na linguagem C++ devem ser arquivos com suxo .cc ou .cpp; co solues na linguagem Pascal devem ser arquivos com suxo .pas. Para problemas diferentes voc pode co e escolher trabalhar com linguagens diferentes, mas apenas uma soluo, em uma unica linguagem, deve ser ca submetida para cada problema. Ao nal da prova, para cada soluo que voc queira submeter para correo, copie o arquivo fonte para ca e ca o seu diretrio de trabalho ou disquete, conforme especicado pelo seu professor. o No utilize arquivos para entrada ou sa a da. Todos os dados devem ser lidos da entrada padro (normala mente o teclado) e escritos na sa padro (normalmente a tela). Utilize as funes padro para e da a e co a entrada e sa de dados: da em Pascal: readln, read, writeln, write; em C: scanf, getchar, printf, putchar ; em C++: as mesmas de C ou os objetos cout e cin. Procure resolver o problema de maneira eciente. Na correo, ecincia tambm ser levada em conta. ca e e a As soluoes sero testadas com outras entradas alm das apresentadas como exemplo nas tarefas. c a e

Olimp ada Brasileira de Informtica OBI2010 a

Conta de gua a
Nome do arquivo fonte: conta.c, conta.cpp, ou conta.pas A empresa local de abastecimento de gua, a Saneamento Bsico da Cidade (SBC), est promovendo uma a a a campanha de conservao de gua, distribuindo cartilhas e promovendo aes demonstrando a importncia da ca a co a a gua para a vida e para o meio ambiente. Para incentivar mais ainda a economia de gua, a SBC alterou os preos de seu fornecimento de forma que, a c proporcionalmente, aqueles clientes que consumirem menos gua paguem menos pelo metro cbico. Todo cliente a u paga mensalmente uma assinatura de R$ 7, que inclui uma franquia de 10 m3 de gua. Isto , para qualquer a e consumo entre 0 e 10 m3 , o consumidor paga a mesma quantia de R$ 7 reais (note que o valor da assinatura deve ser pago mesmo que o consumidor no tenha consumido gua). Acima de 10 m3 , cada metro cbico subsequente a a u tem um valor diferente, dependendo da faixa de consumo. A SBC cobra apenas por quantidades inteiras de metros cbicos consumidos. A tabela abaixo especica o preo por metro cbico para cada faixa de consumo: u c u Faixa de consumo (m3 ) at 10 e 11 a 30 31 a 100 101 em diante Preo (por m3 ) c inclu na franquia do R$ 1 R$ 2 R$ 5

Assim, por exemplo, se o consumo foi de 120 m3 , o valor da conta : e 7 reais da assinatura bsica; a 20 reais pelo consumo no intervalo 11 30 m3 ; 140 reais pelo consumo no intervalo 31 100 m3 ; 100 reais pelo consumo no intervalo 101 120 m3 . Logo o valor total da conta de gua R$ 267. a e

Tarefa
Escreva um programa que, dado o consumo de uma residncia em m3 , calcula o valor da conta de gua daquela e a residncia. e

Entrada
A unica linha da entrada contm um unico inteiro N , indicando o consumo de gua da residncia, em m3 e a e (0 N 103 ).

Sa da
Seu programa deve imprimir uma unica linha, contendo o valor da conta de gua daquela residncia. a e

Olimp ada Brasileira de Informtica OBI2010 a

Exemplos
Entrada 8 Sa da 7

Entrada 14

Sa da 11

Entrada 42

Sa da 51

Olimp ada Brasileira de Informtica OBI2010 a

Pedgio a
Nome do arquivo fonte: pedagio.c, pedagio.cpp, ou pedagio.pas A inveno do carro tornou muito mais rpido e mais barato realizar viagens de longa distncia. Realizar uma ca a a viagem rodoviria tem dois tipos de custos: cada quilmetro percorrido na rodovia tem um custo associado a o (no s devido ao consumo de combust a o vel mas tambm devido ao desgaste das peas do carro, pneus, etc.), e c mas tambm necessrio passar por vrios pedgios localizados ao longo da rodovia. e e a a a Os pedgios so igualmente espaados ao logo da rodovia; o comeo da estrada no possui um pedgio, mas o a a c c a a seu nal pode estar logo aps um pedgio (por exemplo, se a distncia entre dois pedgios consecutivos for de o a a a 37 km e a estrada tiver 111 km, o motorista deve pagar um pedgio aos 37 km, aos 74 km e aos 111 km, logo a antes de terminar a sua viagem).

Tarefa
Dadas as caracter sticas da rodovia e os custos com gasolina e com pedgios, calcule o custo total da viagem. a

Entrada
A entrada consiste de duas linhas. A primeira linha da entrada contm dois inteiros L e D (1 L, D 104 ), e indicando o comprimento da estrada e a distncia entre pedgios, respectivamente. A segunda linha contm a a e dois inteiros K e P (1 K, P 104 ), indicando o custo por quilmetro percorrido e o valor de cada pedgio. o a O primeiro pedgio est localizado no quilmetro D da estrada (ou seja, a distncia do in da estrada para a a o a cio o primeiro pedgio D quilmetros). a e o

Sa da
Seu programa deve imprimir uma unica linha contendo um unico inteiro, indicando o custo total da viagem.

Informaes sobre a pontuao co ca


Em um conjunto de casos de teste que totaliza 40 pontos, L, D, K, P 100.

Olimp ada Brasileira de Informtica OBI2010 a

Exemplos
Entrada 111 37 1 10 Sa da 141

Entrada 100 30 3 14

Sa da 342

Entrada 20 70 9 17

Sa da 180

Olimp ada Brasileira de Informtica OBI2010 a

Times
Nome do arquivo fonte: times.c, times.cpp, ou times.pas As aulas de educao f ca sica, em muitas escolas, acontecem da seguinte maneira: O professor entrega uma bola ao alunos (geralmente de futebol) e estes se dividem em times, onde jogam partidas alternadamente. A maneira como os times so escolhidos tambm semelhante em todas as escolas: decide-se quantos times a e e sero formados, e uma pessoa para montar cada um dos times. Cada pessoa vai escolher, alternadamente, um a dos alunos restantes para fazer parte de sua equipe. Como todos querem ter uma boa equipe, a pessoa que vai escolher o prximo membro do time escolhe aquele, dentre os ainda dispon o veis, que possui o melhor n vel de habilidade. Assim, os times acabam cando relativamente equilibrados na soma do n de habilidade dos vel jogadores.

Tarefa
Dada uma lista de alunos que sero escolhidos e seus respectivos n a veis de habilidade para os times e a quantidade de times que sero formados, mostre como caro os times ao nal do processo de montagem dos mesmos. a a

Entrada
A primeira linha da entrada contm dois inteiros N (2 N 10.000) e T (2 T 1000), representando e respectivamente a quantidade de alunos e o nmero de times a serem formados, sendo T N . As N linhas u seguintes descrevem, cada uma, um aluno dispon para escolha de times. Cada uma dessas linhas possui o vel nome do aluno (composto apenas por letras minsculas) e um inteiro H (0 H 1.000.000) descrevendo seu u n de habilidade). vel No existem dois alunos com o mesmo n de habilidade, e todos eles possuem nomes diferentes. E poss a vel vel que alguns times acabem cando com menos jogadores do que os outros.

Sa da
Seu programa deve imprimir a lista de times que ser formada ao nal do processo de seleo. Para cada time, a ca voc dever mostrar o termo Time N, onde N o nmero do time (1 para o primero, 2 para o segundo, e e a e u assim por diante) seguido de K linhas, onde K a quantidade de jogadores do time, mostrando o nome de cada e um dos jogadores do time, em ordem alfabtica. Imprima uma linha em branco aps cada descrio de time e o ca (inclusive do ultimo). Os times sero escolhidos pelo computador, ento no necessrio considerar o aluno que ir fazer a escolha a a a e a a dos times.

Informaes sobre a pontuao co ca


Em um conjunto de casos de teste que totaliza 40 pontos, 2 N 10, 2 T 5.

Olimp ada Brasileira de Informtica OBI2010 a

Exemplos
Entrada 14 3 felipe 4 alvaro 8 thiago 1 rodrigo 3 robson 2 fabio 9 ricardo 11 rodolfo 0 andre 14 arthur 12 ronaldo 55 rogerio 30 lucas 7 rafael 17 Sa da Time 1 andre fabio felipe ronaldo thiago Time 2 alvaro arthur rodolfo rodrigo rogerio Time 3 lucas rafael ricardo robson

Entrada 4 3 john 3 richard 0 greg 100 rupert 20

Sa da Time 1 greg richard Time 2 rupert Time 3 john

Olimp ada Brasileira de Informtica OBI2010 a

Copa do Mundo
Nome do arquivo fonte: copa.c, copa.cpp, ou copa.pas Este ano tem Copa do Mundo! O pa inteiro se prepara para torcer para a equipe canarinho conquistar mais s um t tulo, tornando-se hexacampe. a Na Copa do Mundo, depois de uma fase de grupos, dezesseis equipes disputam a Fase Final, composta de quinze jogos eliminatrios. A gura abaixo mostra a tabela de jogos da Fase Final: o
A B C D E F G H I J K L M N O P

Oitavas-de-final

Quartas-de-final

10

11

12

Semifinais

13

14

Final

15

Campeo

Na tabela de jogos, as dezesseis equipes nalistas so representadas por letras maisculas (de A a P), e os jogos a u so numerados de 1 a 15. Por exemplo, o jogo 3 entre as equipes identicadas por E e F; o vencedor desse a e jogo enfrentar o vencedor do jogo 4, e o perdedor ser eliminado. A equipe que vencer os quatro jogos da Fase a a Final ser a campe (por exemplo, para a equipe K ser campe ela deve vencer os jogos 6, 11, 14 e 15. a a a

Tarefa
Dados os resultados dos quinze jogos da Fase Final, escreva um programa que determine a equipe campe. a

Entrada
A entrada composta de quinze linhas, cada uma contendo o resultado de um jogo. A primeira linha contm e e o resultado do jogo de nmero 1, a segunda linha o resultado do jogo de nmero 2, e assim por diante. O u u resultado de um jogo representado por dois nmeros inteiros M e N separados por um espao em branco, e u c indicando respectivamente o nmero de gols da equipe representada ` esquerda e ` direita na tabela de jogos u a a (0 M 20, 0 N 20 e M = N ).

Sa da
Seu programa deve imprimir uma unica linha, contendo a letra identicadora da equipe campe. a

Olimp ada Brasileira de Informtica OBI2010 a

Exemplos
Entrada 4 1 0 3 2 1 2 0 1 4 0 3 3 1 1 1 0 4 1 3 2 0 2 2 3 1 2 4 4 0 Sa da F

Entrada 2 1 2 1 1 1 1 1 2 1 0 0 2 1 2 0 0 1 0 0 2 2 0 1 0 1 2 1 0 1

Sa da A

Você também pode gostar