30分求助!
查看原帖
30分求助!
726139
残阳如血楼主2023/7/26 20:10

代码:

#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 10;
struct point {
	int x, y, di;
} a, b, c[MAXN];
int N, ansa = INT_MAX, ansb = INT_MAX;
int dist(point p1, point p2) {
	return (p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y);
}
int main() {
	cin >> a.x >> a.y >> b.x >> b.y >> N;
	for (int i = 0; i < N; i++) {
		cin >> c[i].x >> c[i].y;
		if (dist(c[i], a) < dist(c[i], b)) {
			if (ansa == INT_MAX) ansa = dist(c[i], a);
			else ansa = max(ansa, dist(c[i], a));
		} else {
			if (ansb == INT_MAX) ansb = dist(c[i], b);
			else ansb = max(ansb, dist(c[i], b));
		}
	}
	cout << ansa + ansb;
	return 0;
}

结果

2023/7/26 20:10
加载中...