EngSoft-UFMS / algoritmos_e_programacao_1

MIT License
0 stars 0 forks source link

Adicionar implementação do exercício "Poker" - 2114 (beecrowd) #17

Open LourdesOshiroIgarashi opened 1 year ago

LourdesOshiroIgarashi commented 1 year ago

Link do exercício na plataforma Beecrowd

Esta issue tem como objetivo adicionar a implementação do exercício "Poker" ao projeto. O exercício consiste em desenvolver três funções separadas para a resolução do problema:

Descrição do exercício:

Por XVII Maratona de Programação IME-USP, 2013 BR Brazil

Poker é jogado com um baralho tradicional de 52 cartas (13 valores com 4 naipes). Os valores das cartas, em ordem crescente, são: 2, 3,..., 10, Valete, Dama, Rei, Ás. Dada uma mesa de poker, com dois jogadores, sua tarefa é determinar quem ganhou.

Cada jogador possui duas cartas próprias e há cinco cartas comuns aos dois jogadores na mesa. Ganha quem conseguir uma mão de cinco cartas mais valiosa, entre as suas duas cartas próprias e as cinco cartas da mesa. Uma carta da mesa pode ser usada pelos dois jogadores ao mesmo tempo e a mão mais valiosa de um ou dos dois jogadores pode ser obtida ignorando as suas duas cartas próprias e usando as cinco comuns.

Para comparar duas mãos de cinco cartas, verifica-se em quais tipos da lista abaixo elas se encaixam. Se uma mão se encaixar em mais de um tipo, escolhe-se o mais valioso. Se as duas mãos se encaixarem num mesmo tipo, se aplica uma regra de desempate específica para este tipo.

A lista de tipos de mãos, ordenados do menos valioso para o mais valioso, e seus respectivos critérios de desempate é:

Note que é possível persistir o empate mesmo depois de aplicadas as regras de desempate. Os naipes das cartas só são considerados para definir um flush, não sendo considerados em nenhuma regra de desempate.

Entrada: A entrada é composta por diversas instâncias e termina com final de arquivo (EOF).

Cada instância é composta por três linhas. As duas primeiras linhas contêm a descrição de duas cartas cada uma, separadas por espaço. A primeira linha corresponde às cartas do primeiro jogador, enquanto a segunda corresponde às cartas do segundo jogador. A terceira linha contém a descrição das cinco cartas na mesa, também separadas por espaço.

Caracter Carta '2' - '9' 2 - 9 'T' 10 'J' Valete 'Q' Dama 'K' Rei 'A' Ás 'e' Espadas 'c' Copas 'o' Ouros 'p' Paus

A descrição de uma carta é dada por 2 caracteres, sendo o primeiro o valor da carta e o segundo o naipe, conforme a tabela acima.

Saída: Para cada instância, imprima uma linha contendo um número inteiro. Imprima 1 se o primeiro jogador ganhar essa instância, imprima 2 caso o segundo ganhe e imprima 0 se houver um empate, mesmo depois de aplicadas as regras de desempate.

Exemplo de Entrada: Te Je Tp Jp Qe Qp Ke Kp Ae Ae 7o Ac 8e Ap Ao 9e Jc Kp Ae 7o Ac 8e Ap Ao 6e 3c Kp

Exemplo de Saída: 1 0 2

To do: