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:
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 13Llegeixi 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.
Calculi quantes columnes de la matriu tenen totes les cartes amb el mateix pal.
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);
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.
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.
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