题解 | #矩阵交换#
矩阵交换
https://www.nowcoder.com/practice/ec44d4ff8c794b2f9205bdddbde96817
#include <iostream>
using namespace std;
int main() {
int a, b, f, e;
int c[11][11];
int m[11];
cin >> a >> b;
for (int i = 0; i < a; i++) {
for (int j = 0; j < b; j++) {
cin >> c[i][j];
}
}
int k;
cin >> k;
for (int k1 = 0; k1 < k; k1++) {
char d;
cin >> d;
if (d == 'r') {
cin >> e >> f;
e--;
f--;
for (int i = 0; i < b; i++) {
m[i] = c[e][i];
c[e][i] = c[f][i];
c[f][i] = m[i];
}
} else if (d == 'c') {
cin >> e >> f;
e--;
f--;
for (int i = 0; i < a; i++) {
m[i] = c[i][e];
c[i][e] = c[i][f];
c[i][f] = m[i];
}
} else if (d == 't') {
cin >> e >> f;
}
}
for (int i = 0; i < a; i++) {
for (int j = 0; j < b; j++) {
cout << c[i][j] << " ";
}
cout << endl;
}
}
// 64 位输出请用 printf("%lld")
这里需要注意的是
写入的e行f列要减去1!因为数组的index是从0开始的

