Punts d'equilibri d'una matriu quadrada X39505


Statement
 

pdf   zip

thehtml

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; };



Entrada

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.

Sortida

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.

Public test cases
  • 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)
    
    
  • Information
    Author
    Bernardino Casas
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++