#include 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 hasSaddle = false;
for (int i = 0; i < n; i++) {
    int minRow = matrix[i][0];
    int colIndex = 0;
    for (int j = 1; j < m; j++) {
        if (matrix[i][j] < minRow) {
            minRow = matrix[i][j];
            colIndex = j;
        }
    }

    bool isSaddle = true;
    for (int k = 0; k < n; k++) {
        if (matrix[k][colIndex] > minRow) {
            isSaddle = false;
            break;
        }
    }

    if (isSaddle) {
        hasSaddle = true;
        cout << "Row: " << i + 1 << " Column: " << colIndex + 1 << " Value: " << minRow << endl;
    }
}

if (!hasSaddle) {
    cout << "not exist" << 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/inpy 著作权归作者所有。请勿转载和采集!

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