Flip X14912


Statement
 

pdf   zip

thehtml

Donada una matriu regular (cada fila té el mateix nombre de columnes) de nombres enters fes un programa que retorni la matriu voltejada horitzontalment o verticalment i quants elements de la matriu resultant són diferents de la matriu inicial. Voltejar horitzontalment una matriu vol dir permutar la primera fila amb la darrera, la segona fila amb la penúltima, etc. Voltejar verticalment és permutar la primera columna amb la darrera, etc. Per exemple, la matriu:

1    2    3
4    2    5

voltejada horitzontalment és:

4    2    5
1    2    3

i té 4 elements diferents respecte a la matriu inicial, que són els elements de la primera i darrera columna destacats en negreta.

Entrada

Una seqüència de matrius regulars. Cada matriu està formada per la següent informació:

  • dos naturals indicant les dimensions de la matriu (files i columnes)
  • els valors de la matriu
  • un dels dos valors següents:
    • horitzontal: si es vol voltejar horitzontalment
    • vertical: si es vol voltejar verticalment

Sortida

La matriu voltejada i la paraula diferents seguida de quants elements diferents té respecte de la matriu inicial.

Observació

És necessari implementar dues funcions: una funció que voltegi la matriu horitzontalment i una altra que la voltegi verticalment. Cada funció hauria de retornar el nombre de caselles diferents entre la matriu original i la matriu voltejada.

Public test cases
  • Input

    2 3
    1 2 3
    4 2 5
    horitzontal
    2 3
    1 2 3
    4 2 5
    vertical
    3 3
    1 2 1
    4 5 6
    3 2 3
    horitzontal
    

    Output

    4 2 5 
    1 2 3 
    diferents 4
    3 2 1 
    5 2 4 
    diferents 4
    3 2 3 
    4 5 6 
    1 2 1 
    diferents 4
    
  • Input

    3 3
    1 2 3
    4 5 6
    7 8 9
    vertical
    2 2
    0 -1
    0 0
    vertical
    2 2
    4 4
    4 4
    horitzontal
    

    Output

    3 2 1 
    6 5 4 
    9 8 7 
    diferents 6
    -1 0 
    0 0 
    diferents 2
    4 4 
    4 4 
    diferents 0
    
  • Information
    Author
    Alfonso da Silva
    Language
    Catalan
    Official solutions
    C++
    User solutions