Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

OBIPOKER - Mini-Poker

Mini-Poker é o nome de um jogo de cartas que é uma simplificação de Poker, um dos mais famosos jogos de cartas do mundo. Mini-Poker é jogado com um baralho normal de 52 cartas, com quatro naipes (copas, paus, espadas e ouro), cada naipe compreendendo treze cartas (Ás, 2, 3, 4, 5, 6, 7, 8, 9, 10, Valete, Dama, Rei).

No início do jogo, cada jogador recebe cinco cartas. O conjunto de cinco cartas vale um certo número de pontos, de acordo com as regras descritas abaixo. Diferentemente do jogo de Poker normal, em Mini-Poker o naipe das cartas é desconsiderado. Assim, para simplificar a descrição do jogo, vamos utilizar os números de 1 a 13 para identificar as cartas do baralho, na ordem dada acima. Uma outra diferença é que pode ocorrer empate entre mais de um vencedor; nesse caso os vencedores dividem o prêmio.

As regras para pontuação em Mini-Poker são as seguintes:

1. Se as cinco cartas estão em seqüência a partir da carta x (ou seja, os valores das cartas são x, x+1, x+2, x+3 e x+4), a pontuação é x+200 pontos. Por exemplo, se as cartas recebidas são 10, 9, 8, 11 e 12, a pontuação é 208 pontos.

2. Se há quatro cartas iguais x (uma quadra, ou seja, os valores das cartas são x, x, x, x e y), a pontuação é x+180 pontos. Por exemplo, se as cartas recebidas são 1, 1, 1, 10 e 1, a pontuação é 181 pontos.

3. Se há três cartas iguais x e duas outras cartas iguais y (uma trinca e um par, ou seja, os valores das cartas são x, x, x, y e y), a pontuação é x + 160 pontos. Por exemplo, se as cartas recebidas são 10, 4, 4, 10 e 4, a pontuação é 164 pontos.

4. Se há três cartas iguais x e duas outras cartas diferentes y e z (uma trinca, ou seja, os valores das cartas são x, x, x, y e z), a pontuação é x + 140 pontos. Por exemplo, se as cartas recebidas são 2, 3, 2, 2 e 13, a pontuação é 142 pontos.

5. Se há duas cartas iguais x, duas outras cartas iguais y (x != y) e uma outra carta distinta z (dois pares, ou seja, os valores das cartas são x, x, y, y e z), a pontuação é 3 × x + 2 × y + 20 pontos, em que x > y. Por exemplo, se as cartas recebidas são 12, 7, 12, 8 e 7, a pontuação é 70 pontos.

6. Se há apenas duas cartas iguais x e as outras são todas distintas (um par, ou seja, os valores das cartas são x, x, y, z e t), a pontuação é x pontos. Por exemplo, se as cartas recebidas são 12, 13, 5, 8 e 13, a pontuação é 13 pontos.

7. Se todas as cartas são distintas, não há pontuação.

Tafefa

Escreva um programa que, fornecidas as cartas dadas a um jogador, calcule pontuação do jogador naquela jogada.

Entrada

A entrada é composta por vários casos de teste, cada um correspondendo a uma jogada. A primeira linha da entrada contém um inteiro N que indica o número de casos de teste (1 <= N <= 100). Cada uma das N linhas seguintes contém cinco números inteiros C1,C2,C3,C4 e C5, representando as cinco cartas recebidas por um jogador (1 <= C1,C2,C3,C4,C5 <= 13).

Saída

Para cada caso de teste da entrada, seu programa deve produzir três linhas na saída. A primeira linha deve conter um identificador do caso de teste, no formato “Teste n”, onde n é numerado seqüencialmente a partir de 1. A segunda linha deve conter a pontuação do jogador considerando as cinco cartas recebidas. A terceira linha deve ser deixada em branco. A grafia mostrada no Exemplo de Saída, abaixo, deve ser seguida rigorosamente.

Exemplo

Entrada:
2
12 3 10 3 12
1 2 3 5 4

Saída:
Teste 1
62

Teste 2
201

Restrições

1 <= N <= 100
1 <= C1,C2,C3,C4,C5 <= 13

Adicionado por:Wanderley Guimarăes
Data:2007-03-09
Tempo limite:1s
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:OBI 2005 Programação Nível 2

hide comments
2013-05-22 15:58:12 Gabriel Vilar
Dica: Alinhar as cartas do menor para o maior para facilitar, precisei de apenas 15 ifs para todas as combinaçőes possiveis.
2013-02-14 05:57:46 tcomp
esse problema é traiçoeiro. Há um caso de teste em que a jogada termina com um espaço no final mais um \n, ao invés de apenas um \n
2012-06-20 16:14:57 Alan
escrevi em java, ta tudo certo, ja conferi milhoes de vezes, milhoes de teste, mas continua dando resposta errada, se for isso, algo esta faltando no enunciado..
2012-05-15 19:41:54 Matheus Henrique


Last edit: 2012-05-16 14:20:55
2010-09-27 17:03:25 Matheus Pacheco [UFMG]
Acho que é super necessário ordenar o vetor de cartas do jogador
2010-09-13 01:45:04 Emerson [UNILINS]
Pontuaçăo igual a 0 quando houver menos de duas cartas năo consecutivas.
2010-07-08 21:52:37 Rafael Araújo
eu consegui passar com 6 if's =)
2009-12-11 19:01:42 Nicolas Eduardo
Esse problema se torna dificil pela quantidade de if's que săo usados,eu usei 86 if's isso pq fiz sem ordenar,ordenando acho que eu usava uns 20 só.
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.