FJNU 1151 Fat Brother And Geometry(胖哥与几何)

Time Limit: 1000MS   Memory Limit: 257792K

【Description】

【题目描述】

Fat brother enrolled in computer graphics, recently teacher arranged a job: given two straight lines and a circle, judge if the round is between straight two lines. If it is, fat brother need to submit a “Yes” to the teacher. If not, fat brother need to submit “No” to the teacher.

Note:

Straight line will be expressed through two point in it

Circle will be expressed through a center point and a radius

胖哥选修了计算机图形学,最近老师给他布置了个任务: 给定两条直线与一个圆,判断这个圆是否在两条直线中。如果是,提交“Yes”给老师。否则,胖哥需要提交“No”给老师。

注意:

直线以两点表示。

圆以圆心和半径表示。

【Input】

【输入】

There are multiple test cases. The first line of input contains an integer T (T <= 20) indicating the number of test cases. For each test case:

The first line contains four number Ax1, Ay1, Ax2, Ay2 denoting there are two point (Ax1, Ay1), (Ax2, Ay2) on the line A

The second line contains four number Bx1, By1, Bx2, By2 denoting there are two point (Bx1, By1), (Bx2, By2) on the line B

The third line contains three number Ox, Oy, r denoting the center of the circle O is (Ox, Oy) and the radius of the circle O is r

( -10^9 <= x, y, r <= 10 ^ 9)

多组测试用例。

第一行是一个整数T(T <= 20)表示测试用例的数量。对于每个测试用例:

第一行有四个数Ax1, Ay1, Ax2, Ay2表示直线A上的两点(Ax1, Ay1), (Ax2, Ay2)。

第二行有四个数Bx1, By1, Bx2, By2表示直线A上的两点(Bx1, By1), (Bx2, By2)。

第行有三个数Ox, Oy, r表示圆心O的坐标(Ox, Oy)和圆O的半径为r。

( -10^9 <= x, y, r <= 10 ^ 9)

【Output】

【输出】

For each test case, output “Yes” or “No”

对于测试用例,输出“Yes”或“No”。

【Sample Input - 输入样例】

【Sample Output - 输出样例】

2

-5.98 5.98 -8.52 2.01

-2.01 4.97 -6.03 -1.06

-6.96 3.94 1.03

-19.98 11.93 19.95 -2.01

16.01 11.93 -17.97 -12.12

12.04 3.92 2.09

No

Yes

【Hint - 提示】

测试用例一

The first sample test case:

aaarticlea/png;base64,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" alt="" width="315" height="313" />

测试用例二

The second sample test case:

【题解】

大意是判断圆和直线的关系,不过输入数据是double类型。

由于浮点数的精度,最容易发生问题的地方是在两个数比较是否相等的时候,此时应该算上最低的精度,不过题目也没说精度是多少……按之前看过的类似题目就去10e-8好了。

(一开始条件反射在考虑如何用ax+by+c>0直接判断……想了想发觉没什么卵用)

按直线的位置划分情况:

①两条直线相交:圆心到直线的距离是否大于半径。

②两条直线平行:两条平行线的距离是否大于直径。

接着就是两点式化一般式。

得:(y1 - y2)x + (x2 - x1)y + x1y2-x2y1 = 0

因此:a = y1 - y2,b = x2 - x1,c = x1y2-x2y1

点到直线的距离:

平行线间的距离:

不过两条直线的a,b不定各自相等,转化一下就好了。

之后就没啥好说的了。

【代码 C++】

 #include<cstdio>
#include <cmath>
#define Zero 10e-8
int main(){
int t, n;
double x1, y1, x2, y2, a1, b1, c1, a2, b2, c2, r, L1, L2;
while (~scanf("%d", &t)){
while (t--){
scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2);
a1 = y1 - y2; b1 = x2 - x1; c1 = x1*y2 - x2*y1;
scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2);
a2 = y1 - y2; b2 = x2 - x1; c2 = x1*y2 - x2*y1;
scanf("%lf%lf%lf", &x1, &y1, &r);
L1 = fabs(a1*x1 + b1*y1 + c1) / sqrt(a1*a1 + b1*b1);
L2 = fabs(a2*x1 + b2*y1 + c2) / sqrt(a2*a2 + b2*b2);
if (L1 < r) puts("No");
else if (L2 < r) puts("No");
else if (fabs(a1*b2 - a2*b1) > Zero) puts("Yes");
else if (fabs(fabs(c1 - c2 / (a2 + b2)*(a1 + b1)) / sqrt(a1*a1 + b1*b1) - L1 - L2) > Zero) puts("No");
else puts("Yes");
}
}
return ;
}

FJNU 1151 Fat Brother And Geometry(胖哥与几何)的更多相关文章

  1. FJNU 1154 Fat Brother And His Love(胖哥与女神)

    FJNU 1154 Fat Brother And His Love(胖哥与女神) Time Limit: 2000MS   Memory Limit: 257792K [Description] [ ...

  2. FJNU 1153 Fat Brother And XOR(胖哥与异或)

    FJNU 1153 Fat Brother And XOR(胖哥与异或) Time Limit: 1000MS   Memory Limit: 257792K [Description] [题目描述] ...

  3. FJNU 1155 Fat Brother’s prediction(胖哥的预言)

    FJNU 1155 Fat Brother’s prediction(胖哥的预言) Time Limit: 1000MS   Memory Limit: 257792K [Description] [ ...

  4. FJNU 1152 Fat Brother And Integer(胖哥与整数)

    FJNU 1152 Fat Brother And Integer(胖哥与整数) Time Limit: 1000MS   Memory Limit: 257792K [Description] [题 ...

  5. FJNU 1156 Fat Brother’s Gorehowl(胖哥的血吼)

    FJNU 1156 Fat Brother’s Gorehowl(胖哥的血吼) Time Limit: 1000MS   Memory Limit: 257792K [Description] [题目 ...

  6. FJNU 1157 Fat Brother’s ruozhi magic(胖哥的弱智术)

    FJNU 1157 Fat Brother’s ruozhi magic(胖哥的弱智术) Time Limit: 1000MS   Memory Limit: 257792K [Description ...

  7. FJNU 1159 Fat Brother’s new way(胖哥的新姿势)

    FJNU 1159 Fat Brother’s new way(胖哥的新姿势) Time Limit: 1000MS   Memory Limit: 257792K [Description] [题目 ...

  8. HDU 4637 Rain on your Fat brother 线段与半圆和线段交 简单题

    题意: 应该不难读懂. 做法: 我们可以把雨滴看做静止不动,然后maze(这题的那个人)就是往左上方运动就可以了,计算出maze能跑到的最远的点,然后就是求起点和终点所构成的线段与每个雨滴交的时间,注 ...

  9. 大数据的胖哥的方式(9)- 金融业数据仓库的逻辑模型FS-LDM

    介绍: 大数据是不是海市蜃楼,来自小橡子只是意淫奥克斯,大数据的发展,而且要从头开始,基于大数据建设国家.项目-level数据中心行业将越来越多,大数据仅供技术,而非溶液,临数据组织模式,数据逻辑模式 ...

随机推荐

  1. java总结第二次(剩余内容)//类和对象1

    7.成员变量和局部变量 成员变量:在类中定义,用来描述对象将要有什么 局部变量:在类的方法中定义,在方法中保存临时数据 区别:作用域不同 局部变量的作用域仅限于定义它的方法 成员变量的作用域在整个类内 ...

  2. Android NDK 开发(三)--常见错误锦集合Log的使用【转】

    转载请注明出处:http://blog.csdn.net/allen315410/article/details/41826511  Android NDK开发经常因某些因素会出现一些意想不到的错误, ...

  3. CSS选择器无法找到td

    .table >  tr > td  <----这样无法找到td 因为table在浏览器下会自动生成tbody,这样即可 .table > tbody > tr > ...

  4. PHP中header函数的用法及其注意重点是什么呢

    1.使用header函数进行跳转页面: header('Location:'.$url); 其中$url就是将要跳转的url了. 这种用法的注意事项有以下几点: •Location和":&q ...

  5. Asp.net Vnext api CORS( 跨域)

    概述 跨域资源共享(CORS )是一种网络浏览器的技术规范,它为Web服务器定义了一种方式,允许网页从不同的域访问其资源.而这种访问是被同源策略所禁止的.CORS系统定义了一种浏览器和服务器交互的方式 ...

  6. Android Studio解决unspecified on project app resolves to an APK archive which is not supported

    出现该问题unspecified on project app resolves to an APK archive which is not supported as a compilation d ...

  7. 20150604_Andriod 窗体PopupWindow动画

    参考地址: http://www.open-open.com/lib/view/open1378720752084.html http://www.jcodecraeer.com/a/anzhuoka ...

  8. Python网络爬虫Scrapy框架研究 以及 代理设置

    地址:https://github.com/yidao620c/core-scrapy 例子:https://github.com/geekan/scrapy-examples 中文翻译文档: htt ...

  9. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    转载自:http://blog.csdn.net/wang1144/article/details/42277179 在ubuntu14.04版本上安装lxml,老是出错,在一番艰辛的搜索之后 ,终于 ...

  10. An Easy C Program Problem

    找幸运数 题目描述 数字8最多的那个数为幸运数. 输入n和n个整数,找这n个数中的幸运数.在主函数中调用ndigit函数,判断某个整数x含数字8的个数.如果有多个幸运数输出第一个幸运数,如果所有的数中 ...