Codeforces 935 C Fifa and Fafa

Posted Schenker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces 935 C Fifa and Fafa相关的知识,希望对你有一定的参考价值。

935 C

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

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

 

代码:

 1 #include<bits/stdc++.h>
 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<int,int> 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 }

 

以上是关于Codeforces 935 C Fifa and Fafa的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces 935D Fafa and Ancient Alphabet

CodeForces 935E Fafa and Ancient Mathematics (树形DP)

codeforces 935D Fafa and Ancient Alphabet逆元加dp

CF935E Fafa and Ancient Mathematics 树形dp

codeforces 935E 建树,dp

CF935D Fafa and Ancient Alphabet 概率dp(递推)