Un element d’una matriu és un punt d’equilibri si la suma dels elements a la seva fila i la suma dels elements a la seva columna són iguals.
Fes un programa que donada una seqüència de matrius quadrades d’enters escrigui per cada matriu tots els punts d’equilibri de la matriu o "Res" si no n’hi ha cap.
IMPORTANT! Has
d’implementar i usar l’acció punts_equilibri que, donada
una matriu quadrada d’enters troba tots els punts d’equilibri de la
matriu i els torna com un vector de parelles (fila, columna).
void punts_equilibri(const vector<vector<int>> &mat, vector<Parella> &punts);
El tipus Parella és el següent:
struct Parella {
int fil;
int col;
};
L’entrada consisteix en una seqüència de matrius quadrades d’enters. Cada matriu es defineix com:
un natural indicant les dimensions de la matriu.
els valors de la matriu.
Mostra per cada matriu de la seqüència:
La paraula "Matriu" i el número de la matriu d’entrada seguit de ":"
En línies diferents cada punt d’equilibri d’aquesta matriu ordenats per files i si tenen la mateixa fila, llavors s’ordena per columna. Davant de cada punt cal escriure dos espais en blanc.
Si una matriu no té punts d’equilibri llavors cal escriure "Res".
Per obtenir més detalls sobre la sortida consulta els jocs de proves públics.
Input
3 1 0 2 0 1 0 2 0 1 0 1 1010 5 1 2 3 4 5 2 3 4 5 1 3 4 5 1 2 4 5 1 2 3 5 1 2 3 4
Output
Matriu 1: (0, 0) (0, 2) (1, 1) (2, 0) (2, 2) Matriu 2: Res Matriu 3: (0, 0) Matriu 4: (0, 0) (0, 1) (0, 2) (0, 3) (0, 4) (1, 0) (1, 1) (1, 2) (1, 3) (1, 4) (2, 0) (2, 1) (2, 2) (2, 3) (2, 4) (3, 0) (3, 1) (3, 2) (3, 3) (3, 4) (4, 0) (4, 1) (4, 2) (4, 3) (4, 4)
Input
3 -1 0 2 0 1 0 2 0 -1 7 1 2 3 4 5 6 7 2 4 6 8 10 12 14 3 6 9 12 15 18 21 4 8 12 16 20 24 28 5 10 15 20 25 30 35 6 12 18 24 30 36 42 7 14 21 28 35 42 49 4 1 1 3 4 5 6 7 0 2 4 8 -1 5 3 -1 9
Output
Matriu 1: (0, 0) (0, 1) (0, 2) (1, 0) (1, 1) (1, 2) (2, 0) (2, 1) (2, 2) Matriu 2: (0, 0) (1, 1) (2, 2) (3, 3) (4, 4) (5, 5) (6, 6) Matriu 3: (2, 0)