鞍点计算

来源:互联网 发布:oracle数据库本地连接 编辑:程序博客网 时间:2024/05/20 01:10

鞍点计算

Time Limit: 1000MS Memory Limit: 65536KB
SubmitStatistic

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 a[11][11],m,n,i,j,max[11],min[11],k=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++) {  max[i]=a[i][0]; } for(j=0;j<n;j++) {  min[j]=a[0][j]; } for(i=0;i<m;i++) {  for(j=0;j<n;j++)  {   if(a[i][j]>max[i])   {    max[i]=a[i][j];   }   if(a[i][j]<min[j])   {    min[j]=a[i][j];   }   } } for(i=0;i<m;i++) {  for(j=0;j<n;j++)  {   if(max[i]==min[j])   {    printf("Array[%d][%d]=%d\n",i,j,max[i]);    k++;   }  } } if(k==0) {  printf("None\n"); } return 0; }
原创粉丝点击