鞍点计算
#include<iostream> using namespace std; int a[10][10]; int main() { int m,n,i,c,b,d,y,mix; cin>>m>>n; for(i=0;i<m;i++) for(b=0;b<n;b++) cin>>a[i][b]; for(d=0;d<m;d++) {i=0;mix=a[d][0]; for(c=0;c<n-1;c++) { if(mix<a[d][c+1]) {mix=a[d][c+1]; i=c+1; } }c=a[0][i]; for(y=0;y<m-1;y++) { if(c>a[y+1][i]) c=a[y+1][i]; } if(mix==c) cout<<"Array["<<d<<"]["<<i<<"]="<<a[d][i]<<endl; } return 0; }2019: 鞍点计算
Time Limit: 1 Sec Memory Limit: 64 MB
Submit: 26 Solved: 7
[Submit][Status][Web Board]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 9Sample Output
Array[0][2]=3