您的位置:首页 > 其它

zoj 1608 Two Circles and a Rectangle 判断两个圆是否能放入一个矩形中

2014-06-26 15:08 316 查看
题目来源: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=608
分析:

两个圆放到矩形的临界点图为:



其中a为长, b为宽, r1 > r2

红色三角形的三边长分别为:

x = a - (r1 +r2)

y = b - (r1 + r2)

z = r1 +r2

当 x ^ 2 + y ^ 2  >= z^2 时, 显然 矩形是可以放进去圆的。

代码如下:

int main()
{
double w, l , r1 ,r2 ;
while( scanf("%lf%lf%lf%lf" , &w, &l ,&r1 ,&r2)!= EOF){
if(w > l)
swap(w, l) ;
if(r1 > r2)
swap(r1 , r2) ;
double r = r1 +r2 ;
double d = (l -r)*(l -r) + (w -r)*(w -r) ;
if( (w  > 2*r2 ) && (d > r*r) )
puts("Yes");
else puts("No") ;
}

}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐