#include<iostream>
using namespace std;
int a[10][10];
int main()
{
int m,n,i,c,b,d,y,mix;
cin>>m>>n;
for(i=0;i<m;i++)
for(b=0;b<n;b++)
cin>>a[i][b];
for(d=0;d<m;d++)
{i=0;mix=a[d][0];
for(c=0;c<n-1;c++)
{
if(mix<a[d][c+1])
{mix=a[d][c+1];
i=c+1;
}
}c=a[0][i];
for(y=0;y<m-1;y++)
{
if(c>a[y+1][i])
c=a[y+1][i];
}
if(mix==c)
cout<<"Array["<<d<<"]["<<i<<"]="<<a[d][i]<<endl;
}
return 0;
}
2019: 鞍点计算
Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 26 Solved: 7
[ Submit][ Status][ Web Board]
Description
找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。
Input
输入数据有多行,第一行有两个数m和n,下面有m行,每行有n个数。
Output
按下列格式输出鞍点: Array[i][j]=x 其中x代表鞍点,i和j为鞍点所在的数组行和列下标,我们规定数组下标从0开始。 一个二维数组并不一定存在鞍点,此时请输出None。 我们保证不会出现两个鞍点的情况,比如:
3 3
1 2 3
1 2 3
3 6 8
Sample Input
3 3 1 2 3 4 5 6 7 8 9
Sample Output
Array[0][2]=3