Problem N: 求二维数组中的鞍点【数组】
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 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; } }