题目链接

判断圆和三角形是否相交   可以转化为   判断三条线段是否和圆相交

#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:圆与三角形(计算几何)的更多相关文章

  1. 51Nod 1298 圆与三角形(计算几何)

    1298 圆与三角形  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是否相交.相交输出"Yes&quo ...

  2. 51nod 1298 圆与三角形——计算几何

    题目链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1298 转化成判断三条线段和圆是否

  3. 51nod 1298 圆与三角形 (计算几何)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1298 求出圆心到三条线段的最短距离,然后判断是否有顶点在圆外,就把全部情 ...

  4. 51nod 1298 圆与三角形

    给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是否相交.相交输出"Yes",否则输出"No".(三角形的面积大于0).       输入 第1行:一个数 ...

  5. (图论)51NOD 1298 圆与三角形

    给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是否相交.相交输出"Yes",否则输出"No".(三角形的面积大于0).     输入 第1行:一个数T, ...

  6. 51nod1298圆与三角形——(二分法)

    1298 圆与三角形  题目来源: HackerRank 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 给出圆的圆心和半径,以及三角形的三个顶点,问圆同 ...

  7. (点到线段的最短距离)51nod1298 圆与三角形

    1298 圆与三角形 给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是否相交.相交输出"Yes",否则输出"No".(三角形的面积大于0).   收起 ...

  8. 51nod1298 圆与三角形

    1298 圆与三角形 题目来源: HackerRank 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 给出圆的圆心和半径,以及三角形的三个顶点,问圆同三 ...

  9. 51nod-1298 圆与三角形(计算几何超详解)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1298 给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是 ...

随机推荐

  1. hbuilder+vue单页应用打包成APP后退按钮返回上一页的问题

    APP打包工具:hbuilder 需要js包:mui.js ,引入方法https://www.cnblogs.com/v616/p/11290281.html 实现原理:在vue根组件App.vue监 ...

  2. <!DOCTYPE>是什么

    所有浏览器都支持<!DOCTYPE> 概念 是指web浏览器关于页面使用哪个html版本进行编写的指令. 常用DOCTYPE声明 html 5 <!DOCTYPE html> ...

  3. Hive学习之路(一)Hive初识

    Hive简介 什么是Hive Hive由Facebook实现并开源 是基于Hadoop的一个数据仓库工具 可以将结构化的数据映射为一张数据库表 提供HQL(Hive SQL)查询功能 底层数据是存储在 ...

  4. HDU4336 Card Collector (概率dp+状压dp)

    http://acm.hdu.edu.cn/showproblem.php?pid=4336 题意:有n种卡片,一个包里会包含至多一张卡片,第i种卡片在某个包中出现的次数为pi,问将所有种类的卡片集齐 ...

  5. linux设备驱动第四篇:从如何定位oops的代码行谈驱动调试方法

    上一篇我们大概聊了如何写一个简单的字符设备驱动,我们不是神,写代码肯定会出现问题,我们需要在编写代码的过程中不断调试.在普通的c应用程序中,我们经常使用printf来输出信息,或者使用gdb来调试程序 ...

  6. p4593 [TJOI2018]教科书般的亵渎

    分析 我们发现$Ans = \sum_i \sum_j (j-p_i)^{m+1}$ 因此直接套用622f的方法即可 代码 #include<bits/stdc++.h> using na ...

  7. Ntdll.h

    转自:https://www.cnblogs.com/gwsbhqt/p/5092390.html 为了能使用上Ntdll.lib库函数,从几份不完整的Ntdll.h中拼凑整理出了比较完整美观的Ntd ...

  8. 导入maven项目pom.xml首行报错missing artifact。。。

    解决方法: 在maven地址(如一般默认的地址C:\Users\Administrator\.m2\repository\)找到对应包名 加后缀名为.lastUpdated文件(如:ojdbc14.l ...

  9. Myeclipse优化配置

    #utf8 (do not remove)#utf8 (do not remove)-startup../Common/plugins/org.eclipse.equinox.launcher_1.2 ...

  10. node+express解决前端跨域问题

    var express = require('express') , app = express(); //解决跨域 app.all('*',function (req, res, next) { r ...