鞍点计算
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
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; }
浙公网安备 33010602011771号