Educational Codeforces Round 156 (Rated for Div. 2)—B. Fear of the Dark

Educational Codeforces Round 156 (Rated for Div. 2)—B. Fear of the Dark

题目位置:

链接: Codeforces Round 156 (Rated for Div. 2)—B. Fear of the Dark


问大致题描述:

现在有A(ax,ay),B(bx,by)两处灯,问选择最小的光照范围r使,能照射到P(px,py),O两点。

输入:

2
3 3
1 0
-1 6
3 3
-1 -1
4 3


输出:

3.6055512755
3.2015621187


原因分析与代码:

本题是一道数学几何题,遇到这种提我们常规的想法是要利用点的坐标去计算点之间的距离然后去找关系,本题可分为是两种情况,一种是在一个圆内,一种是在两个圆内且两个圆存在相交(这里的最小情况为两圆相切)。

#include<bits/stdc++.h>
using namespace std;
int t,px,py,ax,ay,bx,by;
void solve()
{
	cin>>px>>py>>ax>>ay>>bx>>by;
	double pa=pow(px-ax,2)+pow(py-ay,2),pb=pow(px-bx,2)+pow(py-by,2);
	double oa=pow(ax,2)+pow(ay,2),ob=pow(bx,2)+pow(by,2);
	double ab=pow(ax-bx,2)+pow(ay-by,2);
	double ans=max(min(pa,pb),min(oa,ob));
	ans=max(ans,ab/4);
	ans=min(ans,max(pa,oa)); ans=min(ans,max(pb,ob));
	printf("%.10lf\n",sqrt(ans));
}
int main()
{
	cin>>t;
	while(t--) solve();
	return 0;
}

总结

通过本题可知分类讨论的重要性,还有就是对于数学几何题,坐标和方向不是核心关系,距离才是核心关系,距离是决定答案的基本性质,图形可以在平面上任意平移,不需要定位。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"educational codeforces round 103 (rated for div. 2)"是一个Codeforces平台上的教育性比赛,专为2级选手设计评级。以下是有关该比赛的回答。 "educational codeforces round 103 (rated for div. 2)"是一场Codeforces平台上的教育性比赛。Codeforces是一个为程序员提供竞赛和评级的在线平台。这场比赛是专为2级选手设计的,这意味着它适合那些在算法和数据结构方面已经积累了一定经验的选手参与。 与其他Codeforces比赛一样,这场比赛将由多个问题组成,选手需要根据给定的问题描述和测试用例,编写程序来解决这些问题。比赛的时限通常有两到三个小时,选手需要在规定的时间内提交他们的解答。他们的程序将在Codeforces的在线评测系统上运行,并根据程序的正确性和效率进行评分。 该比赛被称为"educational",意味着比赛的目的是教育性的,而不是针对专业的竞争性。这种教育性比赛为选手提供了一个学习和提高他们编程技能的机会。即使选手没有在比赛中获得很高的排名,他们也可以从其他选手的解决方案中学习,并通过参与讨论获得更多的知识。 参加"educational codeforces round 103 (rated for div. 2)"对于2级选手来说是很有意义的。他们可以通过解决难度适中的问题来测试和巩固他们的算法和编程技巧。另外,这种比赛对于提高解决问题能力,锻炼思维和提高团队合作能力也是非常有帮助的。 总的来说,"educational codeforces round 103 (rated for div. 2)"是一场为2级选手设计的教育性比赛,旨在提高他们的编程技能和算法能力。参与这样的比赛可以为选手提供学习和进步的机会,同时也促进了编程社区的交流与合作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值