鞍点计算
作者:互联网
Problem 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
Hint
Source
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,m,i,j,s,p,k,x,y,f,a[11][11],max,min;
while(scanf("%d %d",&m,&n)!=EOF)
{
s=0;
for(i=0; i<m; i++)
{
for(j=0; j<n; j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0; i<m; i++)
{
max=a[i][0];
k=0;
for(j=1; j<n; j++)
{
if(a[i][j]>max)
{
max=a[i][j];
k=j;
}
}
f=0;
min=a[i][k];
for(p=0; p<m; p++)
{
if(a[p][k]<min)
{
f=1;
break;
}
}
if(f==0)
{
s++;
x=i;
y=k;
}
}
if(s==0)printf("None\n");
else printf("Array[%d][%d]=%d\n",x,y,a[x][y]);
}
return 0;
}
标签:计算,min,int,数组,Input,Array,鞍点 来源: https://blog.csdn.net/weixin_43886377/article/details/100796639