1. 程式人生 > >5.鞍點計算

5.鞍點計算

鞍點計算

Time Limit: 1000 ms / Memory Limit: 65536 kb

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

Sample Input

3 3 1 2 3 4 5 6 7 8 9

Sample Output

Array[0][2]=3

Source

None

Submit

#include int main() { int m = 0, n = 0, x = 0,y=0,z=0,s=1; scanf("%d%d", &m,&n); int a[10][10] = { 0 }; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { scanf("%d", &a[i][j]); } } for (int i = 0; i < m; i++) { x = a[i][0]; z = i; y = 0; for (int j = 0; j < n; j++) { if (a[i][j] > x) { x = a[i][j]; z = i; y = j; } } x = a[z][y]; for (int k = 0; k < m; k++) { s = 1; if (a[k][y] < x) { s = 0; break; } } if (s) { printf("Array[%d][%d]=%d", z, y, x); break; } } if (!s) { printf("None"); } return 0; }