题目描述
图片旋转是对图片最简单的处理方式之一,在本题中,你需要对图片顺时针旋转 90 度。
我们用一个 n×m 的二维数组来表示一个图片,例如下面给出一个 3×43×4 的 图片的例子:
1 3 5 7
9 8 7 6
3 5 9 7
这个图片顺时针旋转 90 度后的图片如下:
3 9 1
5 8 3
9 7 5
7 6 7
给定初始图片,请计算旋转后的图片。
输入描述
输入的第一行包含两个整数 n,m,分别表示行数和列数。
接下来 n* 行,每行 m* 个整数,表示给定的图片。图片中的每个元素(像 素)为一个值为 0 至 255 之间的整数(包含 0 和 255)。
输出描述
输出 m 行 n* 列,表示旋转后的图片。
输入输出样例
示例
输入
3 4 1 3 5 7 9 8 7 6 3 5 9 7
输出
3 9 1 5 8 3 9 7 5 7 6 7
运行限制
-
最大运行时间:1s
-
最大运行内存: 256M
#include <iostream>
using namespace std;
const int N = 1000;
long long sum[N][N];
int main()
{
long long n , m ;
cin>>n>>m;
for(long long i = 0 ; i < n ; i++){
for(long long j = 0 ; j < m ;j++){
cin>>sum[i][j];
}
}
for(long long i = 0 ; i < m ; i++){
for(long long j = n - 1 ; 0 <= j ; j--){
cout<<sum[j][i]<<" ";
}
cout<<endl;
}
return 0;
}