timus 1640. Circle of Winter URAL 解題報告 水題一枚,坑死多少英雄啊……
題目大意:話說不死族的屍體 即Lich Sandro 屍體桑德羅 去打怪, 他有一個技能就是一他爲圓點放出一個圓圈冰牆,被冰牆砸中的直接死了……
然後被包圍的:he demons enclosed in a circle stay alive,
but can't participate in the fight anymore. 仍然活着,但是不能對戰爭做出貢獻了,讓你找一個合適的點,將桑德羅傳送過去,該點不能有怪否則無法着陸,然後釋放一個冰圈,使得至少一個怪物被砸中,其他的怪物被包圍……
數據量,怪物所在的座標已經給出,並且絕對值不超過1000,要求圈子的半徑不超過10000,那就好辦了,隨便定義一個點爲圓形,釋放一個圈子就好,這個圈子的半徑就是圓點到最遠的點的距離!
這個題我剛開始也沒明白,後來在小媛的博客中找到,確實A的挺可愛的……
話說這個題的讀題難度又大於做題難度了……
#include<cstdio>
#include<string.h>
#include<iostream>
#include<cmath>
#define EPS 1e-11
using namespace std;
#define FOR(a,b,i) for(i=a;i<b;++i)
double dis(double d1,double d2,double d3,double d4)
{
return sqrt(pow(d3-d1,2.0)+pow(d4-d2,2.0));
}
int main()
{
int n;
cin>>n;
int i;
double cx=1010,cy=1010;
double x,y;
double min=0;
FOR(0,n,i)
{
cin>>x>>y;
if(dis(cx,cy,x,y)>min)
{
min=dis(cx,cy,x,y);
}
}
printf("%.9f %.9f %.9f\n",cx,cy,min+EPS);
return 0;
}