题解 | 调整方阵

#include <bits/stdc++.h>
#include <utility>
#include <vector>
using namespace std;

void swapRows(vector<vector<int>>& matrix, int row1, int row2) {
    if (row1 >= matrix.size() || row2 >= matrix.size() || row1 < 0 || row2 < 0) {
        cout << "行索引超出范围!" << endl;
        return;
    }
    swap(matrix[row1], matrix[row2]);
}

void exchange(vector<vector<int>>& a, int k) {
    int l = k, max = a[l][k];
    for (int i = l; i < a.size(); i++) {
        if (a[i][k] >= max) {
            max = a[i][k];
            l = i;
        }
    }
    swapRows(a, k, l);
}

int main() {
    int n;
    while (cin >> n) {
        vector<vector<int>>a(n, vector<int>(n));
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++)cin >> a[i][j];
        }
        for(int i=0;i<n;i++)exchange(a, i);
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                cout<<a[i][j]<<" ";
            }cout<<endl;
        }
    }
}

你无法想象swap函数的功能到底有多强大

全部评论

相关推荐

码农索隆:我头回见校招简历把个人优势写在最前面的,是我老了吗
点赞 评论 收藏
分享
1.&nbsp;事件概述3月10日下午,华为在“心声社区”发布长达6500字通报,曝光72名正式员工及19名非雇员在非雇员招聘中存在徇私舞弊行为,多人出卖公司信息资产获利,引发热议。-&nbsp;“非雇员”一般指华为OD员工,与人力服务公司签劳动合同,以派遣方式到华为工作,薪资待遇与华为内部员工基本一致,可通过考核转正。2.&nbsp;相关传言与真相华为相关人士称暂无官方回应,很多传言细节不准确。&nbsp;华为成都研究所员工透露,此次通报主要涉及成都研究所的数据存储部门,整个数据存储业务约100余人,此次明文通报除名辞退或通报批评的有62名,“很多部门基本全开除”&nbsp;。网传任正非亲赴成都、封楼抓人等消息不实。早在2024年年中,就有...
七安有出处嘛:省流:任正非亲赴成都等消息不实,2024 年年中就有人举报了;涉及36名违规当事人,其中有13人被除名;10人有主动申报情节或情节较严重的,予以辞退处理;另有13人被劝退、个人职级降3等。另外还有26名相关管理责任人作为直接或间接管理者,被处以个人职级降6等,冻结个人涨薪、职级晋升、干部向上任命,冻结期6—12个月不等;若下属违规偶发,则仅通报批评。并没有释放100HC😂😂😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务