Submeter | Todas submissőes | Melhores | Voltar |
PAR - Par ou ímpar |
Muitas crianças gostam de decidir todas as disputas através do famoso jogo de Par ou Ímpar. Nesse jogo, um dos participantes escolhe Par e o outro Ímpar. Após a escolha, os dois jogadores mostram, simultaneamente, uma certa quantidade de dedos de uma das mãos. Se a soma dos dedos das mãos dos dois jogadores for par, vence o jogador que escolheu Par inicialmente, caso contrário vence o que escolheu Ímpar.
Tarefa
Dada uma seqüência de informações sobre partidas de Par ou Ímpar (nomes dos jogadores e números que os jogadores escolheram), você deve escrever um programa para indicar o vencedor de cada uma das partidas.
Entrada
A entrada é composta de vários conjuntos de testes. A primeira linha
de um conjunto de testes contém um inteiro N, que indica o número de
partidas de Par ou Ímpar que aconteceram. As duas linhas seguintes
contêm cada uma um nome de jogador. Um nome de jogador é uma cadeia de
no mínimo um e no máximo dez letras (maiúsculas e minúsculas), sem
espaços em branco. As N linhas seguintes contêm cada uma dois inteiros
A e B que representam o número de dedos que cada jogador mostrou em
cada partida (0 <= A <= 5
e 0 <= B <= 5
). Em todas as partidas, o primeiro
jogador sempre escolhe Par. O final da entrada é indicado por N = 0
.
Exemplo de entrada 3 Pedro Paulo 2 4 3 5 1 0 2 Claudio Carlos 1 5 2 3 0
Saída
Para cada conjunto de teste da entrada, seu programa deve produzir a saída da seguinte forma. A primeira linha deve conter um identificador do conjunto de teste, no formato "Teste n", onde n é numerado seqüencialmente a partir de 1. As próximas N linhas devem indicar o nome do vencedor de cada partida. A próxima linha deve ser deixada em branco. A grafia mostrada no Exemplo de 3 Saída, abaixo, deve ser seguida rigorosamente.
Exemplo de Saída Teste 1 Pedro Pedro Paulo Teste 2 Claudio Carlos
(esta saída corresponde ao exemplo de entrada acima)
Restrições
0 <= N <= 1000
(N = 0 apenas para indicar o fim da entrada)
0 <= A <= 5
0 <= B <= 5
1 <= comprimento do nome de jogador <= 10
Adicionado por: | Wanderley Guimarăes |
Data: | 2007-03-07 |
Tempo limite: | 0.205s |
Tamanho do fonte: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Linguagem permitida: | Todas exceto: ASM64 CLOJURE ERL FSHARP JS-RHINO NODEJS PERL6 PY_NBC SCALA TCL VB.NET |
Origem: | Olimpiada Brasileira de Informatica 2004 |
hide comments
|
|||||
2014-01-19 06:24:45 Maikel Andril Marcelino [UFRN]
alguem pode verificar o meu? http://ideone.com/J6esfs |
|||||
2013-11-14 12:55:57 Washington
Pra quem está dando resposta errada, vai mais um caso de teste: Entrada: 1 eu voce 0 0 0 Saída: Teste 1 eu |
|||||
2013-04-12 12:42:53 Fernando Ferreira Borges
Obrigado pela dica "Marcos Kawakami", é algo simples năo nos atentamos, e faz muita diferença! Pra ficar mais facil a visualizar o problema: vetor=[10] =[0,1,2,3,4,5,6,7,8,9]10 posiçőes =[a,b,c,d,e,f,g,h, i, j ]10 valores; O verificador năo encontra o '\0', portanto năo encontra um fim para o vetor. O correto é: vetor=[11] =[0,1,2,3,4,5,6,7,8,9,10]11 posiçőes =[a,b,c,d,e,f,g,h, i, j,\0 ]Com 11 posiçőes ele sabe quando acaba. Last edit: 2013-04-12 12:46:19 |
|||||
2012-11-30 01:05:45 Marcos Kawakami
@Gilberto Em uma vetor de char do tipo nome[10], nao cabe um nome de 10 caracteres, porque o vetor precisa indicar com '\0' o fim da string. Observe o seguinte codigo: http://ideone.com/rjIjw8 Ele recebeu aceito no SPOJ. Repare que os asserts năo falharam, o que prova que em todos os casos de teste os nomes obedecem ŕs restriçőes do problema. Agora, olhe o código abaixo e perceba o que acontece quando tentamos armazenar um nome de 10 caracteres em um vetor de 10 espaços: http://ideone.com/1XadXh Devido ŕ ausęncia do \0, o programa năo consegue identificar o fim correto da string, e portanto interpreta a matriz de nomes como uma única string. O problema é resolvido, obviamente, aumentando o tamanho dos vetores, como no código abaixo: http://ideone.com/8Hy5qC |
|||||
2012-11-21 00:43:19 Gilberto A. [UFS]
Pessoal, comentaram que o char nome[10] năo cabe 10 caracteres... Claro que cabe: cabe caracteres de 0 a 9 = 10... O problema, é que o enunciado diz que săo no máximo 10 caracteres mas nos casos teste eles colocam nomes com 11 caracteres... Por isso coloquem char nome[11]... Dica: Sempre coloquem 1 casa a mais em arrays |
|||||
2012-05-27 21:09:04 Marcos Kawakami
Os nomes dos jogadores respeitam as restriçőes da entrada. O problema é que char nome[10] năo tem espaço para armazenar uma string de 10 caracteres Last edit: 2012-05-27 21:11:10 |
|||||
2012-05-18 12:59:24 Matheus Henrique
Deviam alterar as restriçőes para nome dos jogadores. Fiquei um tempăo tomando resposta errada porque estava colocando char nome[10], tem q ser maior que 10... |
|||||
2011-08-14 15:22:03 Ramon de Oliveira [UDESC]
Last edit: 2011-08-14 20:59:24 |
|||||
2011-06-21 14:04:53 Nilo[UFC]
zero e par amigao |
|||||
2011-05-29 02:48:48 Denis Di Fazio Francabandiera
zero é par mesmo.. Last edit: 2011-08-26 17:06:48 |