Repeticions de Cartes Z61488


Statement
 

pdf   zip

thehtml

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 strings 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.

Public test cases
  • 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!
    
  • Information
    Author
    PRO1
    Language
    Catalan
    Other languages
    English Spanish
    Official solutions
    C++
    User solutions
    C++