题目描述
图片旋转是对图片最简单的处理方式之一,在本题中,你需要对图片顺时针旋转 90 度。
我们用一个 n×m 的二维数组来表示一个图片,例如下面给出一个 3×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$
给定初始图片,请计算旋转后的图片。
思路
旋转90°就是把整个图片倒过来,
原来的边就是旋转后的宽。
所以,我们只要从边的底下到顶上输出就行。
代码如下
#include <bits/stdc++.h>
using namespace std ;
const int N = 1e2 + 5 ;
int n , m ;
int g[N][N] ;
int main ( ) {
cin >> n >> m ;
for ( int i = 1 ; i <= n ; i ++ )
for ( int j = 1 ; j <= m ; j ++ )
cin >> g[i][j] ;
for ( int i = 1 ; i <= m ; i ++ ) { //从第1列到第n列
for ( int j = n ; j >= 1 ; j -- ) //从第n行到第1行
cout << g[j][i] << ' ' ;
cout << endl ;
}
return 0 ;
}