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

题目来源:
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") ;
}

}

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

时间: 2024-11-14 07:28:57

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

实验12:Problem D: 判断两个圆之间的关系

Home Web Board ProblemSet Standing Status Statistics Problem D: 判断两个圆之间的关系 Problem D: 判断两个圆之间的关系 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 381  Solved: 325[Submit][Status][Web Board] Description 定义Point类,包括double类型的两个属性,分别表示二维空间中一个点的横纵坐标:定义其必要的构

iOS中判断两个圆是否重叠

#import <Foundation/Foundation.h> #import <math.h> @interface Point2D : NSObject { double _x; // x值 double _y; // y值 } // x值的getter和setter - (void)setX:(double)x; - (double)x; // y值的getter和setter - (void)setY:(double)y; - (double)y; // 同时设置x和y

java判断两集合是否相同以及求取交集,并集,差集

业务中用时需要判断两集合是否相同,所有提供一个工具方法,使用set集合的特性(元素唯一): private Map<String,Set<Integer>> getCategoryApiId(Set<Integer> oldAuthSet , Set<Integer> newAuthSet){ Map<String,Set<Integer>> categoryApiId = new HashMap(); if (oldAuthSet!

C# 判断两张图片是否一致的快速方法

#region 判断图片是否一致 /// <summary> /// 判断图片是否一致 /// </summary> /// <param name="img">图片一</param> /// <param name="bmp">图片二</param> /// <returns>是否一致</returns> public bool IsSameImg(Bitmap img

怎样判断一个点是否落在View内,判断是否手指移动到一个View中

在3.0时代之前,要判断一个点是否落在 View 上只需要两步:第一步:得到 View 的 Rect,第二步:判断点是否再这个 Rect 内. 但从 Android 3.0 开始这样的简单日子就结束了. 原因在于,Google 为 Android 3.0 提供了一套新的动画框架:Property Animation .View/ViewGroup为此获得了强大的动画能力,但代价是View/ViewGroup的实现比以前更复杂了.3.0 前的 View/ViewGroup 在被画到画布前只会经过一

WPF判断两个PNG图片是否碰撞

这个方法有几个前提 1.两个Image必须在一个Canvas中 2.两个Image的Canvas.Top和Canvas.Left必须赋值 上一篇讲了判断一个PNG图片某个点是否透明 这个基本类似的方法 主题思路 1.利用Rect判断两个Image是否有重合 2.只判断重合部分是否存在碰撞 3.将重合区域分成4块 由外向内判定 下面是代码部分 1 /// <summary> 2 /// 判断画布上两个Image是否碰撞了 3 /// </summary> 4 /// <para

Codeforces Round #587 (Div. 3) C题 【判断两个矩形是否完全覆盖一个矩形问题】 {补题 [差点上分系列]}

C. White Sheet There is a white sheet of paper lying on a rectangle table. The sheet is a rectangle with its sides parallel to the sides of the table. If you will take a look from above and assume that the bottom left corner of the table has coordina

java 判断两个时间相差的天数!

package com.datedaycha;     import java.text.SimpleDateFormat;     import java.util.Calendar;     import java.util.Date;     import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;     /*      * java 判断两个时间相差的天数     1.实现目标     输入:两

UIColor延伸:判断两个颜色是否相等

不管UIColor使用CIColor,CGColor还是其他方式初始化的,其CGColor属性都是可用的.CoreGraphics中提供一个函数,用于判断两个CGColor是否相等,因此我们可以通过这个函数判断两个UIColor是否相等,下面是看一个简单的例子: // 判断两个颜色是否是同一种颜色if (CGColorEqualToColor([UIColor whiteColor].CGColor, [UIColor colorWithRed:1 green:1 blue:1 alpha:1]