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 时, 显然 矩形是可以放进去圆的。
代码如下:
分析:
两个圆放到矩形的临界点图为:
其中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") ; } }
相关文章推荐
- 判断一个char[]里是否包含两个连续的\r\n
- WithinPastYears、WithinPastMonths、WithinPastWeeks、WithinPastDays ... 判断两个时间差是否在一个指定范围内
- 19、判断一个单链表是否有环?找到环的入口点。判断两个单链表是否相交,找到相交点。
- 写一个程序,接收两个整数a和b,并判断a是否能被b整除,输出判断结果。
- JAVA--第十周作业编写之一个Teacher类负责给出算术题目,随机给出两个整数并进行运算,并判断回答者的答案是否正确;编写一个GUI类ComputerFrame,回答者可以通过GUI看到题目并给出
- 判断一个char[]里是否包含两个连续的/r/n
- shell脚本使用两个数组,判断一个变量是否在数组里面的例子
- 如何判断两个可移动磁盘卷是否在同一个USB HUB上?
- 判断两个矩形是否相交
- 题目1.请给出一个运行时间为O(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个证书x时,判断出S中是否存在有两个其和等于x的元素。
- 判断两个矩形是否相交
- 判断一个点是否在矩形内PtInRegion-解决PtInRect不能正确判断不同形式TRent的情况
- 判断两个矩形是否有交集
- 关于最小生成树中的kruskal算法中判断两个点是否在同一个连通分量的方法总结
- 请教一个算法问题,有两个数组A,B,判断A中是否至少有一个元素和B中元素相同
- 给出一个实数集合和一个实数,怎样判断集合中是否存在两个和等于该实数的元素
- 判断一个点是否在圆角矩形、椭圆形内
- 判断一个点是否在矩形内PtInRect
- 如何判断两个矩形是否相交
- 如何判断两个矩形是否有重叠部分?(某公司校园招聘笔试试题)