11.10作业 Problem B: 说好的点呢
来源:互联网 发布:知乎 嘉庚创业 编辑:程序博客网 时间:2024/04/29 19:57
Description
两点确定一条直线,判断一条直线与一个圆的位置关系。
Input
输入中前两行每行描述一个点的坐标(x,y),x,y均为实数。
第三行包含三个实数,即圆心坐标和圆的半径R>0。
Output
输出包含三种情况,计算误差应在1e-3(0.001)内。
“Interseetion”(相交时输出);
“Tangency”(相切时输出);
“Disjoint”(相离时输出);
以上输出不含引号。
Sample Input
1 00 10 0 1
Sample Output
Interseetion
HINT
回忆中学的几何知识,最好能自己先想到此题的几何解,实在想不到,可以查查法线方程之类的,然后用程序实现。这里要用到浮点数的精度控制。
思路:
数学。控制精度。
如果要求斜率。讨论斜率不存在的情况。
代码:
#include <stdio.h>#include <limits.h>#include <math.h>int main(){ double x1,x2,y1,y2,X,Y,R,d,D,a,b,c; scanf("%lf %lf",&x1,&y1); scanf("%lf %lf",&x2,&y2); scanf("%lf %lf %lf",&X,&Y,&R); a=y2-y1; b=x1-x2; c=x2*y1-x1*y2; d=fabs(a*X+b*Y+c)/sqrt(a*a+b*b); if(d>R+0.001) printf("Disjoint"); else if(d>=R-0.001&&d<=R+0.001) printf("Tangency"); else printf("Interseetion");}
0 0
- 11.10作业 Problem B: 说好的点呢
- SDUSTOJ-说好的点呢
- 说好的8点之前呢
- 说好的Cache呢
- 说好的每天呢?
- 说好的博客呢
- 说好的加班呢
- 说好的公休假呢?
- old_blog 说好的复制呢?
- 【图灵有聊】说好的安全呢?
- 64 说好的ALS呢?
- 刘翔——说好的2012呢
- 说好的及格呢(这首歌真好听)
- 娱乐——说好的及格呢
- Duang ! P6 PPM 说好的R9呢?
- 叁拾叁,说好的女助理呢?
- 《ACM程序设计》书中题目B(“胖老鼠的语言”说好的建国后动物不许成精呢?)
- Problem B: 点之间的距离
- 如何用C++调用命令行
- 二叉树
- PHP html实体与字符之间的转换函数
- componentsJoinedByString 和 componentsSeparatedByString 的方法的区别
- VB绘图PSet、Line、Circle和坐标定位Scale
- 11.10作业 Problem B: 说好的点呢
- 1613-3-傅溥衍 总结《2016年11月14日》【连续四十五天总结】
- C++多态
- 彻底征服 Spring AOP 之 理论篇
- linux shell脚本案例三
- iframe
- 第二章字符设备代码
- 无缝滚动
- mysql子查询相关问题