51nod 1298 圆与三角形
来源:互联网 发布:jdk 7u80 windows x32 编辑:程序博客网 时间:2024/05/01 22:43
#include <bits/stdc++.h>using namespace std;struct node{long long x,y;node(){};node(int a,int b){x=a;y=b;};};long long dotmulti(node n1,node n2){return n1.x*n2.x+n1.y*n2.y;}long long disd(node n1,node n2){return (n1.x-n2.x)*(n1.x-n2.x)+(n1.y-n2.y)*(n1.y-n2.y);}int main(){long long t,cx,cy,cr,x[5],y[5],A,B,C,d1,d2,i,flag;cin>>t;while(t--){scanf("%lld%lld%lld",&cx,&cy,&cr);for(i=0;i<3;i++)scanf("%lld%lld",&x[i],&y[i]);flag=0;for(i=0;i<3;i++){d1=disd(node(x[i],y[i]),node(cx,cy));d2=disd(node(x[(i+1)%3],y[(i+1)%3]),node(cx,cy));if(d1<cr*cr&&d2<cr*cr)continue;else if(d1>cr*cr&&d2>cr*cr){if(dotmulti(node(x[i]-cx,y[i]-cy),node(x[(i+1)%3]-x[i],y[(i+1)%3]-y[i]))<0&& dotmulti(node(x[(i+1)%3]-cx,y[(i+1)%3]-cy),node(x[i]-x[(i+1)%3],y[i]-y[(i+1)%3]))<0){A=y[i]-y[(i+1)%3];B=-(x[i]-x[(i+1)%3]);C=x[i]*y[(i+1)%3]-x[(i+1)%3]*y[i];if((A*cx+B*cy+C)*(A*cx+B*cy+C)<=cr*cr*(A*A+B*B))flag=1;}}elseflag=1;}if(flag)printf("Yes\n");elseprintf("No\n");}}
0 0
- 51nod 1298 圆与三角形
- 51Nod 1298 圆与三角形
- [51nod]1298 圆与三角形
- 51nod 1298 圆与三角形
- 51nod 1298 圆与三角形
- 51nod--1298 圆与三角形
- 51nod 1298 圆与三角形
- 51NOD 1298 圆与三角形
- 圆与三角形-51NOD 1298
- 51nod oj 1298 圆与三角形
- 51nod 1298 圆与三角形
- 51NOD 1298圆与三角形
- 51Nod 1298 圆与三角形
- 51nod 1298 圆与三角形
- 51Nod-1298 圆与三角形
- 51Nod 1298 圆与三角形
- 51Nod-1298 圆与三角形
- 51 nod: 1298 圆与三角形
- Linux之Makefile 通用版
- [BZOJ2157] 旅游 边权树链剖分
- 初玩凤凰模拟器
- Codeforces 721D (优先队列,模拟)
- visual studio(2012)使用技巧
- 51nod 1298 圆与三角形
- ubuntu主机无法远程登录
- 串行通讯
- LeetCode 299. Bulls and Cows
- 计算机键盘快捷键用法
- 51nod 1305 Pairwise Sum and Divide
- Hdu 4008 Parent and son(给你一棵树(n<=1e5),有Q次查询,每次输入X Y,意思是以X为根,输出Y的儿子节点中节点标号最小和子树中标号最小)
- 洛谷3376 网络最大流
- JQuery插件之-----Datatables(四)render与日期转换(moment.js)