好经典的信息学竞赛题,题目应该都熟悉吧
(本着负责的态度还是贴上吧……)
找鞍点。
鞍点:在行上是最大,而在列上是最小的元素
1 2 3
4 5 6
7 8 9
这个数组中,3就为鞍点
上代码:
#include <iostream>
using namespace std;
int main()
{
int a[3][3];
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
cin>>a[i][j];
for(int y=0;y<3;y++)
{
int min = a[0][y];
int x_min=0;
for(int x=0;x<3;x++)
{
if(a[x][y] < min)
{
x_min=x;
min = a[x][y];
}
}
int max = a[x_min][0];
for(int y=0;y<3;y++)
{
if(a[x_min][y] > max)
max = a[x_min][y];
}
if(min == max)
cout<<max;
}
cin.get();
cin.get();
return 0;
}
思路就是,先找出列上是最小的元素,再在那一行确认这个元素是否为最大的
没什么好说的,自己领会吧~