内存:128  时间:1

题目描述

如果矩阵A中存在这样的一个元素A[i,j]满足条件:A[i,j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。请编程计算出m*n的矩阵A的所有马鞍点。

输入

输入m,n

然后输入数组中的每个元素

输出

输出m*n的矩阵A的所有马鞍点

样例输入

3 3
1 7 3
5 4 6
17 18 9

样例输出

9

提示

代码如下

#include <stdio.h>  
#include <stdlib.h>  
int main()  
{  
    int m,n,a[30][30],i,j,k,l,max,min,x,y;  
    scanf("%d%d",&m,&n);  
    for(i=0;i<m;i++)  
        for(j=0;j<n;j++)  
            scanf("%d",&a[i][j]);  
    for(i=0;i<m;i++)  
    {  
        min=a[i][0];y=0;  
        for(k=1;k<3;k++)  
            if(min>a[i][k])  
            {  
                y=k;min=a[i][k];  
            }   
        max=a[i][y];x=i;  
        for(k=0;k<5;k++)  
            if(max<a[k][y])  
            {  
                x=k;max=a[k][y];  
            }   
    if(i==x)  
        printf("%d\n",a[x][y]);  
    }  
    return 0;  
} 

代码来源于互联网,仅供参考!