问题描述
旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。
计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。 输入格式 输入的第一行包含两个整数n,
m,分别表示图像矩阵的行数和列数。 接下来n行每行包含m个整数,表示输入的图像。
输出格式
输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。
样例输入
2 3
1 5 3
3 2 4
样例输出
3 4
5 2
1 3
评测用例规模与约定
扫描二维码关注公众号,回复:
12905849 查看本文章
1 ≤ n, m ≤ 1,000,矩阵中的数都是不超过1000的非负整数。
把数字写纸上,自己旋转看规律。c语言定义数组的时候,要在外面先定义一个1001*1001的数组。否则提交会运行时异常。
java的话 输入流要换成 BufferedReader 输入,否则会空间超出,无法满分。
#include <stdio.h>
int tx[1001][1001];
int main() {
int n,m,i,j;
scanf("%d%d",&n,&m);
for ( i = 0; i < n; i++){
for ( j = 0; j < m;j++){
scanf("%d",&tx[i][j]);
}
}
for (i = m-1; i>=0;i--){
for (j = 0; j < n; j++){
printf("%d ",tx[j][i]);
}
printf("\n");
}
return 0;
}