Escriu un programa que informi de les repeticions consecutives en una seqüència de cartes de Poker. Es tracta de detectar subseqüències consecutives de cartes iguals, d’una longitud k ≥ 2, i escriure a la sortida una frase descrivint cada subseqüència fent servir els noms típics del Poker. Considerarem 4 casos: "Parella" (k = 2), "Trio" (k = 3), "Poker" (k = 4) i repeticions més llargues (k > 4). Si una carta no surt repetida a la seqüència no cal informar de res. Tampoc cal considerar solapaments, només cal informar de les subseqüències amb repeticions més llargues.
Entrada
L’entrada consisteix en una seqüència de caràcters que representen les cartes. Tal com en el problema "Millor Carta", els caràcters per a les cartes són A
, 2
, 3
, ..., 9
, 0
, J
, Q
i K
. La seqüència de cartes acaba amb un punt, o sigui el caràcter '.'
, i pot estar buida.
Sortida
Cal detectar les repeticions consecutives de cartes i escriure a la sortida la descripció que correspongui al número de vegades k que la carta C ha sortit repetida: "Parella de Cs", "Trio de Cs", "Poker de Cs" o "k Cs!". Cada descripció ha d’anar en una línia diferent i en l’ordre en què apareixen a la seqüència d’entrada. Consulteu les sortides dels jocs de prova públics per veure’n exemples concrets.
Observació
En aquest problema cal tractar l’entrada caràcter a caràcter; si feu servir string
s o algun mètode per emmagatzemar les cartes el problema serà considerat invàlid. A més, tingueu en compte que la seqüència s’assumeix que prové d’una font il·limitada de cartes, de manera que no es pot suposar cap longitud màxima.
Input
11.
Output
Parella de 1s
Input
JJJ8A.
Output
Trio de Js
Input
122333KKKK9.
Output
Parella de 2s Trio de 3s Poker de Ks
Input
1AAAAA5QQQQQQQQ7.
Output
5 As! 8 Qs!