1016-德莱联盟

内存限制:64MB 时间限制:1000ms 特判: No
通过数:9 提交数:9 难度: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
 
参考链接:https://www.cnblogs.com/sytu/articles/3876585.html
这个是线段判交问题,其实线段重合符合这个题的要求。同时需要先进行快速排斥实验,先将两条会在同一条直线上的线段并不重合的情况排除,比如(0 0 1 1 2 2 3 3)这个情况。然后进行跨立实验。并不相交和重合的线段排除。
C++代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct Point{
double x1,y1,x2,y2;
}point[];
int cmp(const Point& a,const Point& b){
double k1 = (a.x2 - a.x1)*(b.y1 - a.y1) - (b.x1 - a.x1)*(a.y2 - a.y1);
double k2 = (a.x2 - a.x1)*(b.y2 - a.y1) - (b.x2 - a.x1)*(a.y2 - a.y1);
if(k1 * k2 <= ){ //k1*k2 == 0是指的是线段重合。
return true;
}
else{
return false;
}
}
int main(){
int T;
scanf("%d",&T);
while(T--){
scanf("%lf%lf%lf%lf%lf%lf%lf%lf",&point[].x1,&point[].y1,
&point[].x2,&point[].y2,
&point[].x1,&point[].y1,
&point[].x2,&point[].y2);
//快速排斥实验。 只要其中一个为真,那两条线段一定不相交。
if(!(max(point[].x1,point[].x2) < min(point[].x1,point[].x2) ||
max(point[].y1,point[].y2) < min(point[].y1,point[].y2) ||
max(point[].x1,point[].x2) < min(point[].x1,point[].x2) ||
max(point[].y1,point[].y2) < min(point[].y1,point[].y2))){
if(cmp(point[],point[]) && cmp(point[],point[])){
printf("Interseetion\n");
}
else{
printf("Not Interseetion\n");
}
}
else{
printf("Not Interseetion\n");
} }
return ;
}
 

请使用手机"扫一扫"x

最新文章

  1. 四核驱动的三维导航—淘宝新UI(设计篇)
  2. 开源战棋 SLG 游戏框架设计思考(一)简介和游戏引擎
  3. Cheatsheet: 2016 09.01 ~ 09.30
  4. php发送邮件——SMTP服务器配置图文教程
  5. 25个实用的jquery技巧
  6. 文件管理php代码操作文件
  7. ThreadLocal深入理解二
  8. List集合去重的一种方法 z
  9. ListView之setEmptyView的问题
  10. 25个App免费资源网站
  11. Apache 支持PHP
  12. request.getAttribute( &quot;result&quot;);和request.setAttribute(&quot;result&quot;,username);
  13. C primer plus 读书笔记第二章
  14. 2015傅富泰写——STRING权
  15. json在线编辑器
  16. [leetcode-630-Course Schedule III]
  17. JavaScript的DOM编程--03--读写属性节点
  18. mac电脑php+mysql+nginx+phpmyadmin环境搭建
  19. Linux系统启动过程(通俗易懂)
  20. C# — 动态获取本地IP地址及可用端口

热门文章

  1. easyui combobox 在datagrid中动态加载数据
  2. 开始一个简单的ASP.NET Web API 2 (C#)
  3. WMS工作原理
  4. ftell 的使用
  5. POI Excel 单元格内容类型判断并取值
  6. Codeforces Round #483 Div. 1
  7. [LightOJ1038] Race to 1 Again
  8. 不可解问题之停机问题(Undecidable Problem Halting Problem)
  9. Day24-ModelForm操作及验证
  10. Java 元编程及其应用