nyoj1016德莱联盟【判断两线段是否相交】
2015-08-28 10:28
211 查看
德莱联盟
时间限制:1000 ms | 内存限制:65535 KB难度:1
描述
欢迎来到德莱联盟。。。。
德莱文。。。
德莱文在逃跑,卡兹克在追。。。。
我们知道德莱文的起点和终点坐标,我们也知道卡兹克的起点和中点坐标,问:卡兹克有可能和德莱文相遇吗?,并且保证他们走的都是直线。
输入几组数据,一个整数T表示T组数据
每组数据 8个实数,分别表示德莱文的起点和终点坐标,以及卡兹克的起点和终点坐标输出如果可能 输出 Interseetion,否则输出 Not Interseetion样例输入
2 -19.74 7.14 22.23 -27.45 -38.79 -5.08 47.51 34.01 -8.61 9.91 -32.47 6.47 -3.81 -16.1 7.82 -6.37
样例输出
Interseetion Not Interseetion
#include<cstdio> #include<cstdlib> #include<cstring> #define eps 1e-10 using namespace std; struct point{ double x,y; }; struct Node{ point a,b; }A[2]; double MIN(double a,double b){ return a<b?a:b; } double MAX(double a,double b){ return a>b?a:b; } bool judge(int a,int b){ if(MIN(A[a].a.x,A[a].b.x)>MAX(A[b].a.x,A[b].b.x)||MIN(A[a].a.y,A[a].b.y)>MAX(A[b].a.y,A[b].b.y)||MIN(A[b].a.x,A[b].b.x)>MAX(A[a].a.x,A[a].b.x)||MIN(A[b].a.y,A[b].b.y)>MAX(A[a].a.y,A[a].b.y)) return false; double h,i,j,k; h=(A[a].b.x-A[a].a.x)*(A[b].a.y-A[a].a.y)-(A[a].b.y-A[a].a.y)*(A[b].a.x-A[a].a.x); i=(A[a].b.x-A[a].a.x)*(A[b].b.y-A[a].a.y)-(A[a].b.y-A[a].a.y)*(A[b].b.x-A[a].a.x); j=(A[b].b.x-A[b].a.x)*(A[a].a.y-A[b].a.y)-(A[b].b.y-A[b].a.y)*(A[a].a.x-A[b].a.x); k=(A[b].b.x-A[b].a.x)*(A[a].b.y-A[b].a.y)-(A[b].b.y-A[b].a.y)*(A[a].b.x-A[b].a.x); return h*i<=eps&&j*k<=eps; } int main() { int t,i,j; scanf("%d",&t); while(t--){ scanf("%lf%lf%lf%lf",&A[0].a.x,&A[0].a.y,&A[0].b.x,&A[0].b.y); scanf("%lf%lf%lf%lf",&A[1].a.x,&A[1].a.y,&A[1].b.x,&A[1].b.y); //A[1].b.x=A[1].b.x*2-A[1].a.x; //A[1].b.y=A[1].b.y*2-A[1].a.y; if(judge(0,1)) printf("Interseetion\n"); else{ printf("Not Interseetion\n"); } } return 0; }
相关文章推荐
- 使用Thrift RPC编写程序
- 通过代码快速理解Java代码块
- 8月25日全球域名商(国际域名)解析新增量TOP20
- PostgreSQL与中文社区
- mybatis在xml文件中处理大于号小于号的方法
- 3Sum Closest
- 在Ajax中什么时候用GET什么时候用POST?
- springMVC文件上传
- 队列和数组
- IPV4与IPV6地址
- Xcode: Auto property synthesis will not synthesize property 解决
- bzoj4028[HEOI2015]公约数数列
- PHP 单引号与双引号的区别
- Poj.2826 An Easy Problem?![【计算几何-线段】 2015/08/28
- 从Eclispe转Android Studio需要知道的快捷键(AS如何修改快捷键)
- LeetCode题解:Merge Sorted Array
- POJ 3046 Ant Counting
- 堆表修改内幕
- WSGI简介
- hdu1754-I Hate It(线段树)