40pts贪心求助!
查看原帖
40pts贪心求助!
494699
卷王慢即快楼主2022/11/14 19:19

或许这个贪心是错的(?)

我想可以每次选最靠近导弹的拦截系统,感觉是错的,有大佬发表下看法吗?这个贪心正确吗?这个思路能写吗?

#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int xx1, yy1, xx2, yy2;
int work1, work2;
int n, x, y;
int main()
{
	cin >> xx1 >> yy1 >> xx2 >> yy2;
	cin >> n;
	for(int i = 1; i <= n; i++)
	{
		cin >> x >> y;
		int dis1 = pow(abs(xx1 - x), 2) + pow(abs(yy1 - y), 2);
		int dis2 = pow(abs(xx2 - x), 2) + pow(abs(yy2 - y), 2);
		if(dis1 < dis2) //第一个导弹拦截系统更优 
			work1 = max(work1, dis1);
		else
			work2 = max(work2, dis2);
	}
	cout << work1 + work2;
	return 0;
}
2022/11/14 19:19
加载中...