博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces 935 C Fifa and Fafa
阅读量:6879 次
发布时间:2019-06-27

本文共 1079 字,大约阅读时间需要 3 分钟。

题意:Fifa想用wifi下载足球游戏, 但是Fafa是个流浪狂魔, 所以Fifa想让他的wifi在公寓里尽量覆盖最大的面积,并且不覆盖到Fafa和公寓外的人,fafa的坐标可以在公寓外。

题解:求半径最大的地方就好了, 这个半径最大的位置一定在Fafa和公寓中心的连线上(前提是Fafa不和公寓中心重合且fafa在公寓范围内)。

 

代码:

1 #include
2 using namespace std; 3 #define LL long long 4 #define fi first 5 #define se second 6 #define lson l,m,rt<<1 7 #define rson m+1,r,rt<<1|1 8 #define max3(a,b,c) max(a,max(b,c)) 9 const int INF = 0x3f3f3f3f;10 typedef pair
pll;11 int main()12 {13 double r, x1, y1, x2, y2;14 cin >> r >> x1 >> y1 >> x2 >> y2;15 double l = sqrt(pow(x1-x2,2)+ pow(y1-y2,2));16 if(l == 0)//重合17 {18 printf("%.7f %.7f %.7f", x1+r/2, y1, r/2);19 return 0;20 }21 if(l > r)//在公寓外22 {23 printf("%.7f %.7f %.7f", x1, y1, r);24 return 0;25 }26 double Sin = (y1-y2) / l;27 double Cos = (x1-x2) / l;28 double ll = (l+r)/2;29 double ansy = y2 + Sin * ll;30 double ansx = x2 + Cos * ll;31 printf("%.7f %.7f %.7f\n",ansx, ansy, ll);32 return 0;33 }

 

转载于:https://www.cnblogs.com/MingSD/p/8455465.html

你可能感兴趣的文章