题意介绍
据传,2020年是宇宙射线集中爆发的一年,这和神秘的宇宙狗脱不了干系!但是瑞神和东东忙于正面对决宇宙狗,宇宙射线的抵御工作就落到了ZJM的身上。
假设宇宙射线的发射点位于一个平面,ZJM已经通过特殊手段获取了所有宇宙射线的发射点,他们的坐标都是整数。而ZJM要构造一个保护罩,这个保护罩是一个圆形 ,中心位于一个宇宙射线的发射点上。同时,因为大部分
经费都拨给了瑞神,所以ZJM要节省经费,做一个最小面积的保护罩。当ZJM决定好之后,东东来找ZJM一起对抗宇宙狗去了,所以ZJM把问题扔给了你~
题意分析
根据各的数据范围,暴力求解就可以AC,遍历每个点找到以他为中心半径最小的点即可。
通过代码
#include<bits/stdc++.h>
using namespace std;
long long n, x, y,maxn=-1;
vector<pair<long long, long long>> v,ans;
bool cmp(pair<long long, long long> p1, pair<long long, long long> p2) {
if (p1.second == p2.second) {
if (v[p1.first].first != v[p2.first].first)
return v[p1.first].first < v[p2.first].first;
else return v[p1.first].second < v[p2.first].second;
}
else return p1.second < p2.second;
}
int main() {
cin >> n;
while (n--) {
cin >> x >> y;
v.push_back(make_pair(x, y));
}
for (int i = 0; i < v.size(); i++) {
for (int j = 0; j < v.size(); j++) {
if (i != j) {
long long len = pow(v[j].first - v[i].first, 2) + pow(v[j].second - v[i].second, 2);
maxn = max(maxn, len);
}
}
ans.push_back(make_pair(i, maxn));
maxn = -1;
}
sort(ans.begin(), ans.end(), cmp);
cout << setiosflags(ios::fixed) << setprecision(2);
cout << (double)v[ans[0].first].first << " " << (double)v[ans[0].first].second << endl;
cout << (double)ans[0].second << endl;
return 0;
}