当前位置: 代码迷 >> 综合 >> Java - 计蒜客 - 矩阵翻转
  详细解决方案

Java - 计蒜客 - 矩阵翻转

热度:66   发布时间:2023-10-09 21:04:34.0

晓萌最近在做一个翻转图片的应用,你可能也知道,图片其实是由一个个的点组成的。于是,晓萌想先做一个可以翻转矩阵的程序,来解决他问题的核心部分。

输入第一行包括由空格分开的整数M、N、T(0 < M < 200,0 < N < 200,T=0或1),其中M和N分别表示待处理矩阵的行数与列数,T为0时表示左右翻转,为1时表示上下翻转。

之后的M行,每行包括由空格分隔的N个整数,依次为输入矩阵的每一行的数据。

输出包括M行N列,每个数字之间用一个空格分隔,每一行行末均有一个空格,表示的是按照要求翻转后的矩阵。

样例输入

4 4 1
1 2 3 4
5 6 7 8
9 0 1 2
3 4 5 6

样例输出

3 4 5 6 
9 0 1 2 
5 6 7 8 
1 2 3 4 
import java.util.Scanner;  
public class Main{  public static void main(String[] args){  Scanner sc = new Scanner(System.in);int a = sc.nextInt();int b = sc.nextInt();int n = sc.nextInt();int[][]a1 = new int[a][b];for(int i=0 ;i<a ;i++){for(int j=0 ;j<b ;j++){a1[i][j] = sc.nextInt();}}F(a1,n);}public static void F(int[][] a ,int n){int x = a.length;int y = a[0].length;if(n==1){for(int i=x-1 ;i>=0 ;i--){for(int j=0 ;j<y ;j++){System.out.print(a[i][j]+" ");}System.out.println();}}else{for(int i=0 ;i<x ;i++){for(int j=y-1 ;j>=0 ;j--){System.out.print(a[i][j]+" ");}System.out.println();}}}
}