MAXIMA(int n,Point P[1 . . . n])
1 for i <-- 1 to n
2 do maximal <-- true
3 for j <-- 1 to n
4 do
5 if (i != j)&(P[i].x <= P[j].x)&(P[i].y <= P[j].y)
6 then maximal <-- false break
7 if maximal
8 then output P[i].x,P[i].y
这是算法:基本上,他们给了我{12,12},{14,10},{15,7},{7,{11,5},{13,3},{5,1},13},{4,11},{9,{2,4}
分
输出将与Row,COL或X,Y有关,因此将得到X&Y的最大值,或者可以说x或y均不由其他人支配的那个点,所以我的代码是:
#include<iostream>
#include<conio.h>
using namespace std;
struct Point{
int x;
int y;
};
int main()
{
Point P[12][2] = { {12,3}{5,4} };
bool maxim=true;
for(int i = 0; i < 12; i++)
for(int j = 0; j < 2; j++)
do {
if(i != j && P[i].x <= P[j].x && P[i].y <= P[j].y) {
cout << array[i][j] <<"\t" ;
cout<<"\n";
maxim=false;
}
} while(maxim=true);
break;
}
}
_getch();
return 0;
}
我的输出与应为的输出不相同。输出应为:
(7 13) (12 12) (14 10) (15 7)
正如您在第一点看到的那样,没有人能控制13
第二(12,12)
第三(14,10)
第四(15,7)