题目描述
给你一个矩形和两个圆的半径,问这个矩形是否可以容纳下这两个圆。
题目分析:
计算几何初步
画一下图就可以得到答案
此时的a b为恰巧容纳下 r1 r2的临界态.
此时
(r1+r2)2==(a−r1−r2)2+(b−r1−r2)2
(
r
1
+
r
2
)
2
==
(
a
−
r
1
−
r
2
)
2
+
(
b
−
r
1
−
r
2
)
2
判断一下即可.
Ac Code
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
double a,b,r1,r2;
while((std::scanf("%lf%lf%lf%lf",&a,&b,&r1,&r2))!=EOF)
((r1+r2)*(r1+r2)<(a-r1-r2)*(a-r1-r2)+(b-r1-r2)*(b-r1-r2)+0.01)?puts("Yes"):puts("No");
return 0;
}