图像旋转
试题编号: | 201503-1 |
试题名称: | 图像旋转 |
时间限制: | 5.0s |
内存限制: | 256.0MB |
问题描述: |
问题描述
旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。
计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。
输入格式
输入的第一行包含两个整数
n,
m,分别表示图像矩阵的行数和列数。
接下来 n行每行包含 m个整数,表示输入的图像。
输出格式
输出
m行,每行包含
n个整数,表示原始矩阵逆时针旋转90度后的矩阵。
样例输入
2 3
1 5 3 3 2 4
样例输出
3 4
5 2 1 3
评测用例规模与约定
1 ≤
n,
m ≤ 1,000,矩阵中的数都是不超过1000的非负整数。
|
import java.util.*;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
int[][] array = new int[m][n];
for(int i = 0;i<n;i++){
for(int j = 0;j<m;j++){
array[m-1-j][i] = in.nextInt();
}
}
for(int i = 0;i<m;i++){
for(int j = 0;j<n;j++){
System.out.print(array[i][j]+" ");
}
System.out.println();
}
}
}
这道题其实就是一个简单的矩阵变换,是一个入门级的题目。但是在做的时候也出现了一个意外地小插曲。在第一次提交的时候系统提示内存超限,我检查了一下也没有想出为什么超限。于是便去吃饭去了,吃完饭后又把超限的代码原封不动地提交了一次结果就显示正确了。看来,这东西也是要看一定的运气的。