鞍点计算



#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 9

Sample Output

Array[0][2]=3





posted @ 2013-12-26 16:39  IT专业户  阅读(271)  评论(0编辑  收藏  举报