51Nod 1264 线段相交 <叉积计算>
来源:互联网 发布:淘宝话费红包怎么用 编辑:程序博客网 时间:2024/06/10 13:19
题目链接
判断两条线段相交(跨立实验)
#include<iostream> #include<cstdio> #include<math.h> #include<cstring> #include<algorithm> #include<queue> #include<set> #include<vector> using namespace std; typedef struct Node{double x,y;};Node n1,n2,n3,n4;double chaji(Node n0,Node n1,Node n2){ return (n1.x-n0.x)*(n2.y-n0.y)-(n2.x-n0.x)*(n1.y-n0.y); } int check(){/*no n1,n2,n3,n4;n1.x=node[0].x1;n1.y=node[0].y1;n2.x=node[0].x2;n2.y=node[0].y2;n3.x=node[1].x1;n3.y=node[1].y1;n4.x=node[1].x2;n4.y=node[1].y2;*/if(chaji(n4,n3,n1)*chaji(n4,n3,n2)<0&&chaji(n1,n2,n3)*chaji(n1,n2,n4)<0) return 1;if(chaji(n1,n2,n3)==0&&n3.x<=max(n1.x,n2.x)&&n3.x>=min(n1.x,n2.x) || chaji(n1,n2,n4)==0&&n4.x<=max(n1.x,n2.x)&&n4.x>=min(n1.x,n2.x) || chaji(n3,n4,n1)==0&&n1.x<=max(n3.x,n4.x)&&n1.x>=min(n3.x,n4.x) || chaji(n3,n4,n2)==0&&n2.x<=max(n3.x,n4.x)&&n2.x>=min(n3.x,n4.x)) return 1; return 0;}int main(){ int n; cin>>n; for(int i=0;i<n;i++){ scanf("%lf%lf%lf%lf%lf%lf%lf%lf",&n1.x,&n1.y,&n2.x,&n2.y,&n3.x,&n3.y,&n4.x,&n4.y); if(check()){ printf("Yes\n");}else printf("No\n");} return 0; }
阅读全文
1 0
- 51Nod 1264 线段相交 <叉积计算>
- [51NOD]-1264 线段相交 [计算几何&叉积&点积]
- 51nod--1264 线段相交 (计算几何基础, 二维)
- 【51Nod】1264 - 线段相交(计算几何)
- 51Nod 1264 线段相交 (计算几何)
- 51nod 1264 线段相交(计算几何)
- 51nod 1264 线段相交(计算几何)
- 51Nod 1264:线段相交(计算几何)
- 51nod 1264 线段相交
- 51NOD 1264 线段相交
- 51 nod 1264 线段相交
- [51nod]1264 线段相交
- 51nod 1264 线段相交
- 51nod 1264 线段相交
- 51nod 1264 线段相交
- 51nod 1264 线段相交
- 51nod 1264 线段相交
- 51Nod 1264 线段相交
- Rehashing
- 牛顿插值函数C语言程序实现
- 上下拉电阻的作用
- window.location与window.open()的区别 "top.location.href"是最外层的页面跳转
- Attach detach controller manager 流程
- 51Nod 1264 线段相交 <叉积计算>
- 开启博客记录科研生活的第一天
- 文章标题
- 阿丹学理财之财富认知
- kafka_producer接口(旧版)
- ajax,附带身份凭证的请求,withCredentials
- kubelet VolumeManager 流程
- CentOS 7 搭建ntp时钟服务器
- android中英文切换