问题标题: 酷町堂:2554 错哪了?????

0
0
张子灏
张子灏
新手守护
新手守护

2554   行最小列最大

经验值:1200

时间限制:1000毫秒

内存限制:128MB

题目描述 Description

给一个n*n的矩阵,每行只有一个最小值,每列只有一个最大值,请你寻找这个矩阵中的某个元素,它既是所在行的最小值也是所在列的最大值。如果该矩阵中没有某个元素满足时行最小值且是列最大值,则输出“N”。

输入描述 Input Description

第一行:n,1<n<10
接下来n行:n*n的矩阵

输出描述 Output Description

如果找到了某个元素值既是行最小值又是列最大值,则输出该元素的值,第几行,第几列
如果没有找到这样的元素则输出N

样例输入 Sample Input

5 11 12 10 8 15 3 4 5 6 10 5 7 6 4 11 6 8 9 7 20 9 10 11 2 25

样例输出 Sample Output

8 1 4

张子灏在2024-02-02 15:06:24追加了内容

#include <iostream>

using namespace std;

int n,m,a[200][200],i,j,max=-1,min_i,min_j,min,k,sum=0;

int main(){

    cin>>n;

    for(i=0;i<=n-1;i++){

        for(j=0;j<=n-1;j++){

            cin>>a[i][j];

        }

    }

    for(i=0;i<n;i++){

        max=a[i][0];

        max_i=i;

        max_j=0;

        for(int j=1;j<n;j++){

            if(max>a[i][j]){

                max=a[i][j];

                max_i=i;

                max_j=j;

            }

        }

        for(k=0;k<n;k++){

            if(max<a[k][max_j]) break;

        }

        if(k==5){

            cout<<max<<" "<<max_i+1<<" "<<max_j+1;

            return 0;

        }

    }

    cout<<"N";

return 0 ;

}


0
我要回答