17 de fevereiro de 2010

Projeto III - Problemas A e B

Problema A
Copa do Mundo


Nome do arquivo fonte:
copa.c, copa.cpp ou copa.java

Uma Copa do Mundo de futebol de botões está sendo realizada com times de todo o mundo.

A classificação é baseada no número de pontos ganhos pelos times, e a distribuição de pontos é feita da forma usual. Ou seja, quando um time ganha um jogo, ele recebe 3 pontos; se o jogo termina empatado, ambos os times recebem 1 ponto; e o perdedor não recebe nenhum ponto.

Dada a classificação atual dos times e o número de times participantes na Copa do Mundo, sua tarefa é de determinar quantos jogos terminaram empatados até o momento.

Entrada

A entrada contém vários casos de teste. A primeira linha de um caso de teste contém dois inteiros

O final da entrada é indicado por uma linha que contém apenas o número zero.

T e N, indicando respectivamente o número de times participantes (2<=T<=200) e o núumero de partidas jogadas (0 <=N<=104). Cada uma das T linhas seguintes contém o nome de um time (uma cadeia de máximo 10 letras e dígitos), seguido de um espaço em branco, seguido do número de pontos que o time obteve até o momento.Os dados devem ser lidos da entrada padrão

Saída

Para cada um dos casos de teste seu programa deve imprimir uma única linha contendo um número inteiro, representando a quantidade de jogos que terminaram empatados até o momento.

O resultado de seu programa deve ser escrito na saída padrão.

Exemplo de entrada:

3 3

Brasil 3

Australia 3

Croacia 3

3 3

Brasil 5

Japao 1

Australia 1

0 0

Exemplo de saída:

0

2

Possível solução:
Fatos:
Quantidade Total de pontos é igual a 2 vezes o número de empates + 3 vezes o número de vitórias, (QTP = 2EMP+3TV).
O número total de partidas é igual ao número de empates + o número de vitórias,
(TP = EMP+TV).
Tudo isso é obvio se você pensar pensar pensar!!!

Equações:
QTP = 2EMP+3TV
TP = EMP+TV

QTP = Quantidade total de pontos;
EMP = Empates;
TV = Total de vitórias;
TP = Total de partidas.

Conclusão útil:
QTP = 3TP-EMP
ou
EMP = 3TP - QTP

Usando no exemplo dado:
3 3
3
3
3

QTP = 9 ( 3+ 3 + 3)
TP = 3
EMP = 3 * 3 - 9 = 0

3 3
5
1
1

QTP = 7 (5 + 1 + 1)
TP = 3
EMP = 3 * 3 - 7 = 2
Problema B

Suco de Acerola

Nome do arquivo fonte:

suco.c, suco.cpp ou suco.java

Natural das Antilhas, a acerola

Um grupo de amigos está visitando o Sítio do Picapau Amarelo, renomado produtor de acerola. Com a permissão de Dona Benta, dona do sítio, colheram uma boa quantidade de frutas, e pretendem agora fazer suco de acerola, que será dividido igualmente entre os amigos durante o lanche da tarde.

Conhecendo o número de amigos, a quantidade de frutas colhidas, e sabendo que cada unidade da fruta é suficiente para produzir 50 ml de suco, escreva um programa para determinar qual o volume, em litros, que cada amigo poderá tomar.

Malpighia glabra Linn, também conhecida como cereja das Antilhas) já era apreciada pelos nativos das Américas há muitos séculos. Mas o grande interesse por essa fruta surgiu na década de 1940, quando cientistas porto-riquenhos descobriram que a acerola contém grande quantidade de ácido ascórbico (vitamina C). A acerola apresenta, em uma mesma quantidade de polpa, até 100 vezes mais vitamina C do que a laranja e o limão, 20 vezes mais do que a goiaba e 10 vezes mais do que o caju e a amora.

Entrada

A entrada contém vários casos de teste. Cada caso de teste é composto por uma única linha, contendo dois números inteiros

O final da entrada é indicado por uma linha que contém apenas dois zeros, separados por um espaço em branco.

N e F, indicando respectivamente o número de amigos (1<=N <= 103) e a quantidade de de frutas colhidas (1<= F <= 103). Os dados devem ser lidos da entrada padrão Saída

Para cada caso de teste da entrada seu programa deve imprimir uma única linha, contendo um número real, escrito com precisão de duas casas decimais, representando o volume de suco, em litros, a que cada amigo tem direito.

O resultado de seu programa deve ser escrito na saída padrão

Exemplo de entrada:

1 1

5 431

101 330

0 0

Exemplo de saída:

0.05

4.31

0.16

Possível solução:
Este é o mais simples, suponhamos que as entradas sejam A e B, a saída será:
B * 0.05 / A

Usando no exemplo dado:
1 1
1 * 0.05 / 1 = 0.05

5 431
431 * 0.05 / 5 = 4.31


Agora é só fazer o leitor das informações dadas!

lol

Download do Turbo C

Para fazer o download do Turbo C, clique Aqui.
Ainda vou descobrir o porque de chamar essa coisa de Turbo...