【题解提供者】吴立强
解法
思路
设转置矩阵为 B B B,那么有 A i , j = B j , i A_{i,j} = B_{j,i} Ai,j=Bj,i 成立,故 i , j i,j i,j 互换输出即可。
代码展示
#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 = 1; i <= n; i ++) /// i j 互换输出
cout << a[i][j] << ' ';
cout << endl;
}
return 0;
}
算法分析
程序时间复杂度约为 O ( n × m ) O(n\times m) O(n×m)。