鞍点计算

来源:互联网 发布:mac桌面图标怎样缩小 编辑:程序博客网 时间:2024/05/20 02:54

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

Example Input

3 31 2 34 5 67 8 9

Example Output

Array[0][2]=3



#include <stdio.h>
int main()
{
    int m,n,max,min,i,j,k,y,flag,a[11][11];
    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++)
    {
        max=a[i][0];
        flag=1;
        for(j=1;j<n;j++)
        {
            if(a[i][j]>max)
            {
                max=a[i][j];
                y=j;
            }
        }    
        for(k=0;k<m;k++)
        {
            if(max>a[k][y])
            {
                flag=0;
                break;
            }
        }
        if(flag==1)
        {
            printf("Array[%d][%d]=%d\n",i,y,max);
            break;
        }
        
    }
    if(flag==0)
            printf("None\n");
    return 0;
}

0 0
原创粉丝点击