计算几何-hdoj-1221-Rectangle and Circle

Rectangle and Circle

 

Problem Description

Given a rectangle and a circle in the coordinate system(two edges of the rectangle are parallel with the X-axis, and the other two are parallel with the Y-axis), you have to tell if their borders intersect.

Note: we call them intersect even if they are just tangent. The circle is located by its centre and radius, and the rectangle is located by one of its diagonal.

 

Input

The first line of input is a positive integer P which indicates the number of test cases. Then P test cases follow. Each test cases consists of seven real numbers, they are X,Y,R,X1,Y1,X2,Y2. That means the centre of a circle is (X,Y)
and the radius of the circle is R, and one of the rectangle's diagonal is (X1,Y1)-(X2,Y2).

Output

For each test case, if the rectangle and the circle intersects, just output "YES" in a single line, or you should output "NO" in a single line.

Sample Input


2
1 1 1 1 2 4 3
1 1 1 1 3 4 4.5

Sample Output


YES
NO

 

Source

杭州电子科技大学第三届程序设计大赛

 

分析:圆与矩形有交点的充分必要条件是:点到四个线段的最短距离dmin<=radius && 点到四个线段的最长距离dmax>=radius。

 

时间: 2024-10-29 12:14:19

计算几何-hdoj-1221-Rectangle and Circle的相关文章

JavaScript面向对象技术实现树形控件

javascript|对象|控件 树形控件是一种人们熟悉的用户界面控件,广泛地用来显示层次型数据. 树形控件具有独特的扩展和折叠分支的能力,能够以较小的空间显示出大量的信息,一目了然地传达出数据之间的层次关系.凡是熟悉图形用户界面的用户,都能够自如地运用树形控件. 图一:用JavaScript实现的树形控件 HTML本身不支持树形控件,但我们可以通过一些JavaScript脚本代码实现.为了提高控件的可重用性,我们要充分运用JavaScript对面向对象编程技术的支持.本文的树形控件适用于IE

教你如何使用JSP面向对象web编程技术实现树形控件

js|web|编程|对象|控件 树形控件是一种人们熟悉的用户界面控件,广泛地用来显示层次型数据. 树形控件具有独特的扩展和折叠分支的能力,能够以较小的空间显示出大量的信息,一目了然地传达出数据之间的层次关系.凡是熟悉图形用户界面的用户,都能够自如地运用树形控件. 图一:用java script实现的树形控件 HTML本身不支持树形控件,但我们可以通过一些java script脚本代码实现.为了提高控件的可重用性,我们要充分运用java script对面向对象编程技术的支持.本文的树形控件适用于I

利用.NET的Reflection增强对象工厂的扩展性

对象 对象工厂      对象工厂(Object Factory)模式通常被用来从一个派生系统中产生某个对象,并将其作为基类的实例返回,从而获得基类的接口,并尽量掩盖派生类的细节,以便充分利用面向对象的多态性来获得强大的功能.通常,对象工厂的实现方法是,在一个工厂方法中,先利用一个基于类型标记(type tag)的switch语句找出适当的类型,然后创建该类型的实例并返回之.            举例来说,设想一个图形系统,它包括了线.圆.矩形等元素,这些元素具有一些公共的操作,比如Draw.

C++:虚函数(virtual function)缺省参数的异常表现及正确使用

避免定义基类(base class)虚函数的缺省参数, 如果基类虚函数包含缺省参数, 派生类不要重新定义, 会产生异常; 虚函数(virtual)是动态绑定(dynamically bound),缺省参数是静态绑定(statically bound). 如果派生类(derived class)重新定义缺省值, 实例化, 执行函数正常; 但在动态绑定时, 会出现,执行基类的缺省参数, 却是派生类的行为, 这样的异常举动. talk is cheap, show you the code. 注意观察

iPhone开发初探

本文是作者从一无所知到入门的知识学习过程,并结合自己在嵌入式开发的经验所写的技术总结文章,以供后来者学习. 苹果公司的iphone平台采用Object-c做为native language的开发,Object-c的内核是C语言的,并基于C语言实现OOP的一些特性.Object-c是对C语言的扩展,这和C++的前身Better-c有很大的相似之处,Object-c的新版本里实现了和Java类似的垃圾回收机制,但基于iphone平台的资源限制,iphone平台并不支持垃圾回收机制. 学习一门语言,自

C# 多态性

转载自:MSDN 类似文章:点击打开链接 多态性常被视为自封装和继承之后,面向对象的编程的第三个支柱. Polymorphism(多态性)是一个希腊词,指"多种形态",多态性具有两个截然不同的方面: 在运行时,在方法参数和集合或数组等位置,派生类的对象可以作为基类的对象处理. 发生此情况时,该对象的声明类型不再与运行时类型相同. 基类可以定义并实现虚方法,派生类可以重写这些方法,即派生类提供自己的定义和实现. 在运行时,客户端代码调用该方法,CLR 查找对象的运行时类型,并调用虚方法的

关于c++抽象类的问题,调用虚函数

问题描述 关于c++抽象类的问题,调用虚函数 #include#includeusing namespace std;class shape{public: virtual float area() const=0;};class circle:public shape{public: circle(float r) { radius=r; } virtual float area() const { return 3.14159*radius*radius; }protected: float

iOS设计模式 - 外观

iOS设计模式 - 外观   原理图     说明 1. 当客服端需要使用一个复杂的子系统(子系统之间关系错综复杂),但又不想和他们扯上关系时,我们需要单独的写出一个类来与子系统交互,隔离客户端与子系统之间的联系,客户端只与这个单独写出来的类交互 2. 外观模式实质为为系统中的一组接口提供一个统一的接口,外观定义了一个高层接口,让子系统易于使用   源码 https://github.com/YouXianMing/iOS-Design-Patterns // // ShapeMaker.h /

《从零开始学Swift》学习笔记(Day 24)——枚举

原创文章,欢迎转载.转载请注明:关东升的博客 Swift中的枚举可以定义一组常量.提高程序的可读性:还具有面向对象特性.使用enum关键词声明枚举类型,具体定义放在一对大括号内,枚举的语法格式如下:enum 枚举名{      枚举的定义}"枚举名"是该枚举类型的名称.它首先应该是有效的标识符,其次应该遵守面向对象的命名规范,它由一组成员值和一组相关值组成. 成员值枚举的成员值默认情况下不是整数类型,以下代码是声明枚举示例: enum WeekDays { case Monday ca