Problem N: 求二维数组中的鞍点【数组】

Problem N: 求二维数组中的鞍点【数组】

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 2764  Solved: 1728
[Submit][Status][Web Board]

Description

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

Input

输入m,n

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

Output

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

Sample Input

3 3
1  7  3
5  4  6
17 18 9

Sample Output

9
#include<stdio.h>
int main()
{
    int m,n,i,j,p,a[100][100];
    int min=0,max=0;
    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++)
    {
        for(j=0;j<n;j++)
        {
            if(a[i][min]>a[i][j])
                min=j;
        }
        for(p=0;p<m;p++)
        {
            if(a[i][min]<a[p][min])
                break;
        }
        if(p==m)
            printf("%d\n",a[i][min]);
        min=0;
    }
}

  

posted @ 2018-03-17 12:51  青衫客36  阅读(2008)  评论(0编辑  收藏  举报