天天看點

c++語言編馬鞍點原理,C++ 找鞍點

好經典的資訊學競賽題,題目應該都熟悉吧

(本着負責的态度還是貼上吧……)

找鞍點。

鞍點:在行上是最大,而在列上是最小的元素

1 2 3

4 5 6

7 8 9

這個數組中,3就為鞍點

上代碼:

#include

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<

}

cin.get();

cin.get();

return 0;

}

思路就是,先找出列上是最小的元素,再在那一行确認這個元素是否為最大的

沒什麼好說的,自己領會吧~