问题描述
求一个n×n(n<=10)矩阵中的马鞍数(马鞍数的特点是在它所在的行,它的值最小。在它所在的列,它的值最大)
矩阵中的数字都不超过100的非负整数。
输入格式
第一行一个整数n
接下来是一个n*n的矩阵,用空格作为间隔
输出格式
一行三个空格间隔的整数,表示马鞍数所在的位置坐标和对应的数值
样例输入 1
3
1 4 8
6 7 9
5 1 3
样例输出 1
2 1 6
样例输入 2
5
9 6 2 11 6
14 14 6 8 10
7 7 5 9 3
3 7 4 9 8
3 6 4 5 4
样例输出 2
2 3 6
#include <bits/stdc++.h>
using namespace std;
int a[11][11];
int main() {
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)cin>>a[i][j];
}
for(int i=1;i<=n;i++)
{
int min=a[i][1];
for(int j=1;j<=n;j++)
{
if(a[i][j]<min) min=a[i][j];
}
for(int j=1;j<=n;j++)
{
if(a[i][j]==min){
int flag=1;
for(int jo=1;jo<=n;jo++)
{
if(a[jo][j]>min)flag=0;
}
if(flag==1)
cout<<i<<" "<<j<<" "<<a[i][j]<<endl;
}
}
}
}