文章

166

粉丝

68

获赞

825

访问

49.6k

头像
调整方阵 - 武汉大学 题解:分析规则,循环即可
P1705 武汉大学机试题
发布于2025年3月18日 10:46
阅读数 158

#include <bits/stdc++.h>

using namespace std;

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 j=0;j<n;j++){
            int k=j,max=a[j][j];
            for(int i=j;i<n;i++){
                if(max<a[i][j]){
                    max=a[i][j];
                    k=i;
                }
            }
            swap(a[k],a[j]);
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++)cout<<a[i][j]<<' ';
            cout<<endl;
        }
    }
}

本题是对新手一个较好的训练,分析题目是解决模拟问题的核心,我们分析题目,可以得到如下的循环,我们对矩阵进行列遍历,且,每次遍历的时候,对行的遍历起点为此列的列号同值的行号开始,然后我们需要找到最值,并与该列号同值的行号交换。

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发