看起來像最小覆蓋圓問題,但是仔細看題目:中心點在發射點的某乙個。所以這道題目就簡單了很多。
思路很清晰o(n^2)的暴力做法。兩重迴圈,計算兩兩之間的距離,找到能覆蓋所有點的最小距離:
for
(int i=
0;iif(dmax
dmax=0;
}
最後,需要注意的是,這裡需要考慮的是:相同距離的情況之下,先考慮x更小的,再考慮y更小的。
我的做法是:用乙個struct結構記錄每乙個發射點:
struct node
}nd[
10005
];
然後使用sort進行排序,保證x小的在前,x相同的情況下,y小的在前面。
這樣在暴力求最小覆蓋圓的時候,如果dmax=tmin的情況,就不需要處理,預設取的是結點更小的情況。
#include
#include
#include
#include
using
namespace std;
struct node
}nd[
10005];
int n;
intmain()
sort
(nd,nd+n)
;long
long
int tmin=
3000000000000
,dmax=
0,d;
int ans;
for(
int i=
0;iif(dmax
dmax=0;
}printf
("%lld.00 %lld.00\n"
,nd[ans]
.x,nd[ans]
.y);
printf
("%lld.00\n"
,tmin)
;return0;
}
B ZJM要抵禦宇宙射線
據傳,2020年是宇宙射線集中爆發的一年,這和神秘的宇宙狗脫不了干係 但是瑞神和東東忙於正面對決宇宙狗,宇宙射線的抵禦工作就落到了zjm的身上。假設宇宙射線的發射點位於乙個平面,zjm已經通過特殊手段獲取了所有宇宙射線的發射點,他們的座標都是整數。而zjm要構造乙個保護罩,這個保護罩是乙個圓形 中心...
csp M4 B ZJM要抵禦宇宙射線
題目描述 據傳,2020年是宇宙射線集中爆發的一年,這和神秘的宇宙狗脫不了干係 但是瑞神和東東忙於正面對決宇宙狗,宇宙射線的抵禦工作就落到了zjm的身上。假設宇宙射線的發射點位於乙個平面,zjm已經通過特殊手段獲取了所有宇宙射線的發射點,他們的座標都是整數。而zjm要構造乙個保護罩,這個保護罩是乙個...
M4 ZJM要抵禦宇宙射線
據傳,2020年是宇宙射線集中爆發的一年,這和神秘的宇宙狗脫不了干係!但是瑞神和東東忙 於正面對決宇宙狗,宇宙射線的抵禦工作就落到了zjm的身上。假設宇宙射線的發射點位於乙個 平面,zjm已經通過特殊手段獲取了所有宇宙射線的發射點,他們的座標都是整數。而zjm要構 造乙個保護罩,這個保護罩是乙個圓形...