ZJM要抵禦宇宙射線

2021-10-06 19:03:04 字數 1524 閱讀 5127

據傳,2023年是宇宙射線集中爆發的一年,這和神秘的宇宙狗脫不了干係!但是瑞神和東東忙於正面對決宇宙狗,宇宙射線的抵禦工作就落到了zjm的身上。假設宇宙射線的發射點位於乙個平面,zjm已經通過特殊手段獲取了所有宇宙射線的發射點,他們的座標都是整數。而zjm要構造乙個保護罩,這個保護罩是乙個圓形,中心位於乙個宇宙射線的發射點上。同時,因為大部分經費都撥給了瑞神,所以zjm要節省經費,做乙個最小面積的保護罩。當zjm決定好之後,東東來找zjm一起對抗宇宙狗去了,所以zjm把問題扔給了你~

輸入 第一行乙個正整數n,表示宇宙射線發射點的個數

接下來n行,每行兩個整數x,y,表示宇宙射線發射點的位置

輸出包括兩行

第一行輸出保護罩的中心座標x,y 用空格隔開

第二行輸出保護罩半徑的平方

(所有輸出保留兩位小數,如有多解,輸出x較小的點,如扔有多解,輸入y較小的點)

無行末空格

開始以為是最小圓覆蓋問題,然後沒有找到板子,就用的騙分,直接找最遠兩個點的中心點。考試結束才發現根本不是最小圓覆蓋問題,就是乙個裸的暴力題,o(n

2)o(n^2)

o(n2

)就可以解決問題。

列舉每乙個點,對於每乙個點,列舉其他點到這個點的距離,取到最大值,之後對於所有的點,取到這些最大值的最小值,就是可以覆蓋所有點的乙個"最小圓",需要注意的是,這個最小圓的圓心肯定是所有點中的乙個。

//#pragma gcc optimize(2)

//#pragma g++ optimize(2)

//#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

const

int maxn=

1000+10

;struct point

;double x,y;};

point point[maxn]

;int n;

double mindis,minx,miny;

double

pow2dis

(point a,point b)

intmain()

if(mindis>=maxdis)

}printf

("%.2f %.2f\n%.2f"

,minx,miny,mindis)

;return0;

}

M4 ZJM要抵禦宇宙射線

據傳,2020年是宇宙射線集中爆發的一年,這和神秘的宇宙狗脫不了干係!但是瑞神和東東忙 於正面對決宇宙狗,宇宙射線的抵禦工作就落到了zjm的身上。假設宇宙射線的發射點位於乙個 平面,zjm已經通過特殊手段獲取了所有宇宙射線的發射點,他們的座標都是整數。而zjm要構 造乙個保護罩,這個保護罩是乙個圓形...

B ZJM要抵禦宇宙射線

據傳,2020年是宇宙射線集中爆發的一年,這和神秘的宇宙狗脫不了干係 但是瑞神和東東忙於正面對決宇宙狗,宇宙射線的抵禦工作就落到了zjm的身上。假設宇宙射線的發射點位於乙個平面,zjm已經通過特殊手段獲取了所有宇宙射線的發射點,他們的座標都是整數。而zjm要構造乙個保護罩,這個保護罩是乙個圓形 中心...

第十六周模測 ZJM要抵禦宇宙射線

一 題目 據傳,2020年是宇宙射線集中爆發的一年,這和神秘的宇宙狗脫不了干係!但是瑞神和東東忙於正面對決宇宙狗,宇宙射線的抵禦工作就落到了zjm的身上。假設宇宙射線的發射點位於乙個平面,zjm已經通過特殊手段獲取了所有宇宙射線的發射點,他們的座標都是整數。而zjm要構造乙個保護罩,這個保護罩是乙個...