关于判断一个矩形能否容下两个圆
来源:互联网 发布:js根据id获取div 编辑:程序博客网 时间:2024/04/30 01:21
题面
给定两个圆和一个矩形,判断两个圆能否放入矩形内。其中,a,b,r1,r2都是浮点数。
分析
考虑两个圆能够放入的一个最基本的必要条件是:半径大的圆放进去后,半径小的圆还可以放进去。也就是满足
min(a,b)>=max(r1,r2)*2
接下来就分析能否放入的临界点,设想右侧短边是一个可以滑动的挡板,从右向左滑动。当a特别大的时候,两个圆靠近呈相切状态,两个圆可以同时与底面相切(但是这并不意味着最节省空间。。。)当矩形不断内缩时,达到临界状态,两个圆分别和矩形相对的边相切,即理想状态下每条边只与一个圆相切。这个时候,就不可以再继续收缩了。
代码
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<cmath>using namespace std;bool judge(double a,double b,double r1,double r2){ if (a>b) swap(a,b); if (r1>r2) swap(r1,r2); if (a<r2*2) return 0; double z=r1+r2,x=a-z,y=b-z; return x*x+y*y>=z*z;}int main(){ double a,b,r1,r2; while(scanf("%lf%lf%lf%lf",&a,&b,&r1,&r2)!=EOF) { if (judge(a,b,r1,r2)) printf("YES\n"); else printf("NO\n"); } return 0;}
彩蛋
阅读全文
2 0
- 关于判断一个矩形能否容下两个圆
- 如何判断一个数字能否同时被两个数整除;
- zoj 1608 Two Circles and a Rectangle 判断两个圆是否能放入一个矩形中
- 四点判断能否围成矩形
- Bricks —— 判断矩形能否嵌套
- 一个矩形能否放到另一个矩形内(公式)
- 如何判断两个矩形相交
- 判断两个矩形是否相交
- 如何判断两个矩形相交
- 判断两个矩形是否相交
- 判断两个矩形是否相交
- 如何判断两个矩形相交
- 判断两个线段\矩形相交
- 如何判断两个矩形相交
- 如何判断两个矩形相交
- 如何判断两个矩形相
- 如何判断两个矩形相交
- 判断两个矩形是否重叠
- 类的大小
- centos系统克隆后网络的简单配置
- 【Java8源码分析】并发包-CyclicBarrier
- 安装并配置ROS环境(一)
- 并发VS并行,你确定你懂了吗?
- 关于判断一个矩形能否容下两个圆
- 一个蛋疼的PIL图片读取问题
- RMAN-20039: 设置双工模式时格式中需要有 %c 解决办法
- spirng mvc
- css中position的absolute与relative的使用
- pythpn基础学习之——整数除法
- HTTP Session和Cookie工作原理
- C++ 结构体 共用体和枚举
- linux sort,uniq,cut,wc命令详解