博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1221 Rectangle and Circle
阅读量:5909 次
发布时间:2019-06-19

本文共 1333 字,大约阅读时间需要 4 分钟。

//0MS    240K    1273 B    C++    //简单数学题,计算圆形和矩形是否有交点//我是利用圆形 圆心式 判断 #include
#include
int main(void){ int t; double x,y,r,x1,y1,x2,y2; scanf("%d",&t); while(t--) { scanf("%lf%lf%lf%lf%lf%lf%lf",&x,&y,&r,&x1,&y1,&x2,&y2); if(x1>x2){ double t1=x1;x1=x2;x2=t1; double t2=y1;y1=y2;y2=t2; } int flag=0; if(r*r>=(x1-x)*(x1-x)){ double temp=sqrt(r*r-(x1-x)*(x1-x))+y; if(temp>=y1 && temp<=y2) flag=1; temp=-temp; if(temp>=y1 && temp<=y2) flag=1; } if(r*r>=(x2-x)*(x2-x)){ double temp=sqrt(r*r-(x2-x)*(x2-x))+y; if(temp>=y1 && temp<=y2) flag=1; temp=-temp; if(temp>=y1 && temp<=y2) flag=1; } if(r*r>=(y1-y)*(y1-y)){ double temp=sqrt(r*r-(y1-y)*(y1-y))+x; if(temp>=x1 && temp<=x2) flag=1; temp=-temp; if(temp>=x1 && temp<=x2) flag=1; } if(r*r>=(y2-y)*(y2-y)){ double temp=sqrt(r*r-(y2-y)*(y2-y))+x; if(temp>=x1 && temp<=x2) flag=1; temp=-temp; if(temp>=x1 && temp<=x2) flag=1; } if(flag) puts("YES"); else puts("NO"); } return 0;}

 

转载于:https://www.cnblogs.com/GO-NO-1/articles/3322097.html

你可能感兴趣的文章
C Primer Plus 第6章 C控制语句:循环 6.10 嵌套循环
查看>>
抓包工具Charles
查看>>
码云项目100,水一发
查看>>
CLRS 4.2 Exercises
查看>>
redis启动警告处理
查看>>
【python初级】010-构造方法,属性和迭代器
查看>>
Textillate.js – 实现动感的 CSS3 文本动画的简单插件(用法详情&只支持现代浏览)...
查看>>
项目 调dubbo接口 异常总结
查看>>
通过Gearman实现MySQL到Redis的数据复制
查看>>
基于swoole扩展的异步redis客户端
查看>>
仿webqq桌面–jquery desktop 2.0
查看>>
数据库与图片完美解决方案
查看>>
Peer certificate cannot be authenticated with known CA certificates
查看>>
推荐几个牛逼的 IDEA 插件
查看>>
数据库中间件 MyCAT 源码分析:【单库单表】插入
查看>>
Java与多线程
查看>>
百度和google高级使用
查看>>
SQLite基础
查看>>
Node.js笔记一
查看>>
手工升级wordpress的方法步骤
查看>>