Tichu é um jogo de cartas no qual os jogadores se revezam jogando conjuntos de cartas de um baralho que consiste em um baralho de 52 cartas padrão e mais 4 cartas adicionais:
- o dragão , que tem um valor maior do que qualquer outra carta
- a fênix , que pode atuar como um curinga
- o cachorro , que passa a vez para o seu parceiro
- o Mah Jong , que tem valor 1 (e a pessoa que o segura toca primeiro)
O primeiro jogador (que se diz ter "liderança") pode optar por jogar um dos seguintes tipos de combinação de cartas:
- um único (por exemplo
6) - um par (
JJ) - um triplo (
555) - uma casa cheia (
QQQ33) - um triplo e um par - uma sequência (
56789) - 5 ou mais cartas consecutivas - a tractor (
223344) - qualquer sequência consecutiva de pares
Jogadores subseqüentes só podem jogar um baralho do mesmo tipo, mas estritamente mais alto. Por exemplo, QQpode ser jogado em cima JJ, mas QQKKnão pode (é um trator, não um par). Casas completas são ordenadas pelo triplo (por exemplo, 77722> 44499), e as retas e tratores devem ter o mesmo comprimento ( 456789não pode ser jogado por cima 23456). Ases são altos.
Há uma exceção: qualquer 4 da mesma carta é uma bomba e pode ser jogado em cima de qualquer coisa, exceto uma bomba mais alta. 1
O dragão pode ser jogado sozinho sobre qualquer single ou com chumbo (mas em nenhum outro lugar). A fênix, além de ser um curinga, também pode ser tocada em cima de qualquer single, exceto o dragão. 2 O cão só pode ser jogado sozinho com chumbo e imediatamente termina o turno. 3
Seu desafio é determinar se uma determinada jogada de Tichu é válida, dada a jogada anterior.
Você pode aceitar as duas jogadas em qualquer ordem como listas de números inteiros ou seqüências de caracteres - em ambos os casos, você pode escolher qualquer mapeamento de cartas para números inteiros / caracteres. Se houve uma jogada anterior, ela sempre será válida e, caso contrário (ou seja, o jogador tem vantagem), a primeira entrada será a matriz / sequência vazia (correspondente ao tipo da outra entrada). Não é garantido que os cartões sejam entregues em qualquer ordem específica.
Sua saída deve ser selecionada de um conjunto de exatamente dois valores distintos, um dos quais indica que a reprodução é legal e outra que indica que não.
Não há necessidade de testar se o conjunto de cartas realmente existe no baralho (por exemplo, 77766seguido por 88877é impossível porque existem apenas quatro 7) - esses casos nunca serão dados.
Nos seguintes casos de teste, 234567890JQKArepresente 2 a ás e RPD1represente o dragão, a fênix, o cachorro e o Mah Jong, respectivamente. A cadeia vazia é mostrada aqui como -. Essas peças são legais:
6 J
JJ QQ
555 KKK
44499 77722
23456 56789
223344 QQKKAA
49494 72727
A R
A P
P R
66 7P
P6 77
58304967 6P0594J7
5P304967 680594J7
57446765 788657P5
- D
- 1
- 12345
3344556677889900 JJJJ
5555 7777
E estes não são:
9 3
66 55
888 444
44 888
77722 44499
44499 777
44499 777JJJ
45678 34567
34567 456789
556677 334455
5566 778899
72727 49494
A A
R A
R P
77 RP
77 6P
P7 66
680594J7 5P304967
6P0594J7 58304967
57446765 3645P536
1 D
2 D
2 1
- 1234
7777 5555
- 223355
1: na verdade, um straight flush também é uma bomba, mas como esse é o único lugar no jogo em que o naipe é importante, eu escolhi deixá-lo de fora por uma questão de simplicidade
2: o valor da fênix jogada em cima de uma carta com o valor n é realmente n + 0,5 (uma fênix em um 9 é um 9 e meio); uma vez que isso requer conhecimento de histórico adicional para ser julgado, nenhum caso de teste envolve uma única jogada em cima de uma única fênix
3: então a primeira entrada nunca será cachorro
5555 777Pdeve ser uma reprodução inválida, mas as duas respostas atuais a marcam como válida.
777JJJ,1234,223355). No entanto,RPnão é válido: " O dragão pode ser jogado sozinho em cima de qualquer single ou com chumbo (mas em nenhum outro lugar). "