#include < iostream >
using namespace std;
#define MAXN 100
typedef struct point_st {
double x,y;
} * point_t;
point_st points[MAXN] = { 0 };
int main() {
int N,i,j;
double d,max_d_sqt = - 1 ,x,y;
point_st pointA, pointB;
cin >> N;
for (i = 0 ;i < N;i ++ )
cin >> points[i].x >> points[i].y;
for (i = 0 ;i < N;i ++ ) {
d = points[i].x * points[i].x + points[i].y * points[i].y;
if (max_d_sqt < d) {
max_d_sqt = d;
pointA = points[i];
}
}
printf( " 0 0 %.12lf\n " , pow(max_d_sqt, 0.5 ));
return 0 ;
}
題目就是要求一點,以該點為圓心作一個半徑R的圓,至少有一個已給出的點在該圓上,而其他點則在該圓內(nèi)。
很坑爹的一題,首先是主角要傳送的地點竟然可以是原來的點,即不動
而且,題目給出點坐標的絕對值不大于1000,但冰墻的半徑卻可以是不大于10000,那就簡單了。
如果條件苛刻點,可以考慮求出所有點構(gòu)成的線段的中點,然后對所有中點求出到每一點的距離,選擇最大的距離作為半徑,該中點作為圓心。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
