码迷,mamicode.com
首页 > 其他好文 > 详细

51Nod 1264 线段相交

时间:2017-07-18 01:45:44      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:nod   stdio.h   return   img   image   pre   str   bool   clu   

 

技术分享

 

 

/*  (a-c)×(d-c)*(d-c)×(b-c)>=0&&(c-a)×(b-a)*(b-a)×(d-a)>= 0就可以判断ab,cd相交*/
/*  p1×p2 = x1y2 - x2y1 = - p2×p1-----(叉乘公式)叉积*/
#include<stdio.h>
struct point
{
    double x,y;
};
//struct point a,b,c,d;
int mp(point a,point b,point c,point d){
    double C=(a.x-c.x)*(d.y-c.y)-(d.x-c.x)*(a.y-c.y);
    double D=(d.x-c.x)*(b.y-c.y)-(b.x-c.x)*(d.y-c.y);
    if(C*D<0) return 0;
    else return 1;
}
bool check(point a , point b , point c , point d){
    if(!mp(a,b,c,d)) return false;
    if(!mp(c,d,a,b)) return false;
    return true;
}
int main(){
    int T;
    scanf("%d",&T);
    while(T--){
        point a,b,c,d;
        scanf("%lf%lf%lf%lf%lf%lf%lf%lf",&a.x,&a.y,&b.x,&b.y,&c.x,&c.y,&d.x,&d.y);
        if(check(a,b,c,d))
            printf("Yes\n");
        else
             printf("No\n");
    }
}

 

51Nod 1264 线段相交

标签:nod   stdio.h   return   img   image   pre   str   bool   clu   

原文地址:http://www.cnblogs.com/kimsimple/p/7198355.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!