题解 | #矩阵交换#

矩阵交换

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开始的

全部评论

相关推荐

下北澤大天使:你是我见过最美的牛客女孩😍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务