Columnes uniformes d'una matriu de cartes X97026


Statement
 

pdf   zip

thehtml

Estàs desenvolupant un sistema per analitzar la disposició de cartes damunt una taula en un joc de simulació. Les cartes són de la baralla francesa (sense comodins), i cada una es defineix pel pal i el valor.

Fes un programa que:

  1. Declari una tupla Carta amb dos camps:
    char pal; // Inv: pot ser ‘C’ (cors), ‘D’ (diamants), ‘T’ (trèvols) o ‘P’ (piques)
    int valor; // Inv: enter entre 1 i 13
    
  2. Llegeixi per l’entrada estàndard una seqüència de matrius no buides de cartes. Per cada matriu:
    • Primer es llegeixen dos enters files i columnes, que indiquen la mida de la matriu.
    • Tot seguit es llegeixen files × columnes cartes, cada una definida pel pal i el valor.
  3. Calculi quantes columnes de la matriu tenen totes les cartes amb el mateix pal.
  4. Mostri per pantalla aquest nombre amb el format següent:
    Matriu 1: X
    Matriu 2: Y
    ...
    
    On X, Y, …són el nombre de columnes amb pal uniforme.

IMPORTANT! Has d’implementar i usar la funció columnes_uniformes que, donada una matriu de cartes torna el nombre de columnes de la matriu que tenen totes les cartes amb el mateix pal.

unsigned int columnes_uniformes(const vector<vector<Carta>> &mat);



Entrada

L’entrada consisteix en una seqüència de matrius de cartes. Cada matriu es defineix com:

  • dos naturals majors que 0 indicant les dimensions de la matriu.
  • les cartes (un caràcter i un enter) per cada casella de la matriu. El caràcter serà ‘C’, ‘D’, ‘T’ o ‘P’ i l’enter estarà entre 1 i 13.

Sortida

Mostra per cada matriu de la seqüència el nombre de columnes amb totes les cartes amb el mateix pal seguint el següent format:

Matriu 1: X
Matriu 2: Y
...

On X, Y, …són el nombre de columnes amb pal uniforme.

Per obtenir més detalls sobre la sortida consulta els jocs de proves públics.

Public test cases
  • Input

    3 4
    C 13 D 10 D 6 C 10
    P 6 C 1 D 3 P 12
    T 8 D 11 D 9 D 5
    
    7 5
    P 11 T 1  P 3  D 9  C 13
    P 7  T 13 P 11 D 13 C 4
    P 1  T 3  P 12 D 3  C 2
    P 10 T 6  P 4  D 1  C 6
    P 3  T 2  P 2  D 10 C 11
    P 4  T 11 P 1  D 4  C 1
    P 9  T 12 P 5  D 6  C 10
    
    5 6
    D 3 T 2  D 6  D 4  P 6  D 11
    T 1 P 4  C 3  C 7  C 10 D 10
    C 6 T 11 P 12 C 2  P 2  C 5
    T 7 C 9  C 9  T 8  D 13 C 6
    D 5 T 3  T 7  C 11 C 7  T 12
    
    4 11
    T 2  C 8  D 3  C 10 D 2  D 6 C 1  D 11 D 4  C 1 T 4
    C 10 C 6  D 5  C 3  T 10 P 9 T 3  C 4  C 6  C 2 D 4
    C 1  P 3  D 12 C 1  P 4  T 5 D 13 T 5  D 10 C 3 P 4
    T 7  D 11 C 4  T 12 T 13 P 2 C 12 T 2  D 8  C 4 D 4
    
    

    Output

    Matriu 1: 1
    Matriu 2: 5
    Matriu 3: 0
    Matriu 4: 1
    
  • Input

    2 2
    T 1 P 13
    D 7 C 8
    
    1 1
    C 5
    
    3 3
    D 8  P 13 C 10
    D 1  P 2  C 4
    D 9  P 6  T 12
    

    Output

    Matriu 1: 0
    Matriu 2: 1
    Matriu 3: 2
    
  • Information
    Author
    Bernardino Casas
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++