【题解提供者】吴立强
解法
思路
设旋转后的图像为 B B B,那么有 A i , j = B j , n − i A_{i,j} = B_{j,n-i} Ai,j=Bj,n−i 成立,故 i , j i,j i,j 互换且 i i i 倒序输出即可。
代码展示
#include <iostream>
using namespace std;const int N = 109;
int a[N][N];int main() {int n, m; cin >> n >> m;for(int i = 1; i <= n; i ++)for(int j = 1; j <= m; j ++)cin >> a[i][j];for(int j = 1; j <= m; j ++) {for(int i = n; i >= 1; i --) /// 唯一不同cout << a[i][j] << ' ';cout << endl;}return 0;
}
算法分析
程序时间复杂度约为 O ( n × m ) O(n\times m) O(n×m)。