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.
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
La matriu voltejada i la paraula diferents seguida de quants elements diferents té respecte de la matriu inicial.
É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.
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