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; } }