CCF2015.3 第一题:图像旋转(java)
问题描述
旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。
计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。
输入格式
输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。
接下来n行每行包含m个整数,表示输入的图像。
输出格式
输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。
样例输入
2 3
1 5 3
3 2 4
样例输出
3 4
5 2
1 3
import java.util.Scanner;
public class TuXiangXuanZhuan {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int[][] array = new int[n][m];
int[][] b = new int[m][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
array[i][j] = sc.nextInt();
}
}
/*
* for(int i=0;i<n;i++) { for(int j=0;j<m;j++) {
* System.out.print(array[i][j]+" "); } System.out.println(); }
*/
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
b[m-i-1][j] = array[j][i];
}
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
System.out.print(b[i][j] + " ");
}
System.out.println();
}
}
}