#include<iostream>
using namespace std;

int main(){
    int n, m;
    cin >> n >> m;
    int matrix[n][m];
    for(int i=0; i<n; i++){
        for(int j=0; j<m; j++){
            cin >> matrix[i][j];
        }
    }
    
    bool flag = false;
    for(int i=0; i<n; i++){
        int min_row = matrix[i][0];
        int col_index = 0;
        for(int j=1; j<m; j++){
            if(matrix[i][j] < min_row){
                min_row = matrix[i][j];
                col_index = j;
            }
        }
        
        int max_col = matrix[0][col_index];
        for(int k=1; k<n; k++){
            if(matrix[k][col_index] > max_col){
                max_col = matrix[k][col_index];
            }
        }
        
        if(min_row == max_col){
            cout << "Row: " << i+1 << ", Column: " << col_index+1 << ", Value: " << min_row << endl;
            flag = true;
        }
    }
    
    if(!flag){
        cout << "not exit" << endl;
    }
    
    return 0;
}
``
题目描述:求一个n行m列数阵中的马鞍数输出它的位置。所谓马鞍数是指在行上唯一的最小而在列上唯一的最大的数。如下:n=5 m=55 6 7 8 94 5 6 7 83 4 5 2 12 3 4 9 01 2 5 4 8则1行1列上的数就是马鞍数。输入:共n+1行第一行:nmnm10第2到n+1行:每行m个整数每个数都10输出:输出若干行:如果存在马鞍数则输出所有马鞍数每行一个为行和列以及马鞍数。如果

原文地址: https://www.cveoy.top/t/topic/inpW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录