51nod 1298:圆与三角形(计算几何)
判断圆和三角形是否相交 可以转化为 判断三条线段是否和圆相交
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
using namespace std;
typedef long long LL;
;
struct point
{
double x,y;
point operator -(const point& rhs)
{
point ret;
ret.x=x-rhs.x;ret.y=y-rhs.y;
return ret;
}
double operator *(const point& rhs)//“叉乘”
{
return x*rhs.y-y*rhs.x;
}
double operator ^(const point& rhs)//“点乘”
{
return x*rhs.x+y*rhs.y;
}
}a[],o;
double r;
double dist(point a,point b) //求点a,b的距离
{
double x=a.x-b.x,y=a.y-b.y;
return sqrt(x*x+y*y);
}
bool seg_cir(point a,point b) //判断线段ab是否与圆o相交
{
if(dist(a,o)<r-eps&&dist(b,o)<r-eps)
return false;
else if((r-dist(a,o))*(r-dist(b,o))<=eps)
return true;
else
{
||((a-b)^(o-b))<)
return false;
double h=(a-o)*(b-o)/dist(a,b);
h=fabs(h);
// printf("%lf %lf\n",(b-a)*(o-a),(a-b)*(o-b));
// cout<<h<<"=========\n";
return h<r+eps;
}
}
bool ok()
{
;i<;i++)
)%]))
return true;
return false;
}
int main()
{
int T;cin>>T;
while(T--)
{
cin>>o.x>>o.y>>r;
;i<;i++)
cin>>a[i].x>>a[i].y;
if(ok()) puts("Yes");
else puts("NO");
}
}
51nod 1298:圆与三角形(计算几何)的更多相关文章
- 51Nod 1298 圆与三角形(计算几何)
1298 圆与三角形 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是否相交.相交输出"Yes&quo ...
- 51nod 1298 圆与三角形——计算几何
题目链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1298 转化成判断三条线段和圆是否
- 51nod 1298 圆与三角形 (计算几何)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1298 求出圆心到三条线段的最短距离,然后判断是否有顶点在圆外,就把全部情 ...
- 51nod 1298 圆与三角形
给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是否相交.相交输出"Yes",否则输出"No".(三角形的面积大于0). 输入 第1行:一个数 ...
- (图论)51NOD 1298 圆与三角形
给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是否相交.相交输出"Yes",否则输出"No".(三角形的面积大于0). 输入 第1行:一个数T, ...
- 51nod1298圆与三角形——(二分法)
1298 圆与三角形 题目来源: HackerRank 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 给出圆的圆心和半径,以及三角形的三个顶点,问圆同 ...
- (点到线段的最短距离)51nod1298 圆与三角形
1298 圆与三角形 给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是否相交.相交输出"Yes",否则输出"No".(三角形的面积大于0). 收起 ...
- 51nod1298 圆与三角形
1298 圆与三角形 题目来源: HackerRank 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 给出圆的圆心和半径,以及三角形的三个顶点,问圆同三 ...
- 51nod-1298 圆与三角形(计算几何超详解)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1298 给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是 ...
随机推荐
- C# 图片剪切与缩小的实例
public void CutToF(Stream stream) { Image initImage = Image.FromStream(stream, true); && ini ...
- BZOJ 5170: Fable
离散化+树状数组 求当前位之前是否有k位比它大 这样的话它就需要前移k位 剩下的按照原来的顺序依次填入 其实我觉得sort一下就可以做出来了 太久没写树状数组了 所以写了一下树状数组 #include ...
- 使dialog可拖拽指令
在项目开发过程中,需要支持dialog弹窗可拖拽,则需要对dialog添加指令.具体操作说明如下: (1)在用于存放指令的文件夹内,新建拖拽指令文件夹,例如命名为:el-dragDialog,如下所示 ...
- 129、TensorFlow计算图的可视化
import tensorflow as tf # Build your graph x = tf.constant([[37.0, -23.0], [1.0, 4.0]], name="i ...
- jmeter之线程组循环次数
有时候压测需要配置并发的持续时间,这个可以在jmeter中线程组页面进行配置 1.jmeter的循环次数2种使用场景 2.持续时间功能介绍 3.持续时间的使用场景 1.jmeter的循环次数2种使用模 ...
- Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站
环境准备 三台主机: 一台主机部署jenkins和作为ansible的管理主机 一台主机部署gitlab和ansible的节点1 一台主机为ansible的节点2 防火墙和apache服务关闭 第一步 ...
- CEF3 命令行 CefCommandLine 所有选项 与 开发中使用的测试网址
转自: https://blog.csdn.net/xiezhongyuan07/article/details/86640413 1.cef3 commandLine设置 在cef3开发过程中,在O ...
- canvas绘制验证码
css样式: <style> body{ text-align: center; } canvas{ background:#ddd; } </style> body中添加标签 ...
- 队列问题非STL解决方案
队列问题非STL解决方案 常年使用STL解决队列问题,以至于严重生疏队列的根本原理... 直到今日 被老师被迫 使用算法原理解决问题,方才意识到我对队列一窍不通... ...直到 经过一系列的坑蒙拐骗 ...
- Win7 VS2019安装后创建C++工程失败解决
VS2019正式上手,第1个问题创建不了工程,看起来非常类似之前VS2017更新 解决办法 https://github.com/Microsoft/msbuild/issues/4286 和上次的问 ...