德莱联盟

德莱联盟

时间限制: 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
来源
原创
上传者

ACM_王亚龙

思路:终于ac了。。之前那晚,一直没有ac。。我是用斜率k和截距b做的,看两直线是不是平行,如果平行的话,就不会相遇,如果重合是话,可能相遇,如果是相交的话,也可能会相遇,但是那时候交了不对。。我现在还没有弄出来。。。又换了一个方法,参考博客:

http://blog.csdn.net/LYHVOYAGE/article/details/24601151

my code:

#include<iostream>
using namespace std;
int main()
{
	int T;
	double x0,y0,x1,y1,x2,y2,x3,y3;
	double a,b,c,d;
	cin>>T;
	while(T--)
	{
       cin>>x0>>y0>>x1>>y1>>x2>>y2>>x3>>y3;
        a=x0*y1+x1*y2+x2*y0-x1*y0-x0*y2-x2*y1;
		b=x0*y1+x1*y3+x3*y0-x1*y0-x0*y3-x3*y1;
		c=x0*y3+x2*y0+x3*y2-x0*y2-x2*y3-x3*y0;
		d=x1*y3+x2*y1+x3*y2-x1*y2-x2*y3-x3*y1;
		if(a*b<=0 &&c*d<=0)
			cout<<"Interseetion"<<endl;
		else
         	cout<<"Not Interseetion"<<endl;
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值