SDUT 鞍点计算

Posted on 2014-02-21 18:52  ttop  阅读(254)  评论(0)    收藏  举报

鞍点计算

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。

输入

输入数据有多行,第一行有两个数m和n,下面有m行,每行有n个数。

输出

按下列格式输出鞍点: 

Array[i][j]=x 

其中,x代表鞍点,i和j为鞍点所在的数组行和列下标,我们规定数组下标从0开始。 

一个二维数组并不一定存在鞍点,此时请输出None。
 
我们保证不会出现两个鞍点的情况,比如:
 
3 3 
1 2 3
1 2 3 
3 6 8 

示例输入

3 3
1 2 3
4 5 6
7 8 9

示例输出

Array[0][2]=3


#include<stdio.h>
int main()
{
    int a[11][11],m,n,i,j,max,e,d,l,b,c;
    scanf("%d %d",&n,&m);
    for(i=0; i<n; i++)
        for(j=0; j<m; j++)
            scanf("%d",&a[i][j]);

    for(i=0; i<n; i++)
    {
        max=a[i][0];
        for(j=0; j<m; j++)
        {
            if(a[i][j]>max)
            {
                max=a[i][j];
                d=j;
                e=i;
            }
        }
        b=0;
        for(l=0; l<n; l++)
        {
            if(a[l][d]<a[e][d])
                b=1;
            continue;
        }
        if(b==0)
        {
            printf("Array[%d][%d]=%d",e,d,max);
            break;
        }

    }
    if(b==1)
        printf("None");
    printf("\n");
    return 0;
}