竞赛讨论区 > 画三角题解
头像
NCU17崔士淼
发布于 2020-03-24 20:26
+ 关注

画三角题解

题目描述:

1.给定t组测试数据
2.每行给一个点,每三个点构成一个三角形(不一定是三角形,可能是直线)
求给的三个点构成的三角形是否包含原点,如果是输出YES ,如果没有包含原点(边上也不算包含),或者不能构成三角形,输出NO

思路:

本题还是利用差积来解决
1.我们知道从原点引出的向量就等于该点的坐标,因此可以把给定的三个点都看成是向量。
俩俩向量求差积,如果他们三的值都为正或都为负,说明包含原点,否则不包含原点。

代码:

#include <cstdio>

int T;
int x1,y1,x2,y2,x3,y3;
long long a,b,c;
int main()
{
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3);
        a=x1*y2-x2*y1;
        b=x2*y3-x3*y2;
        c=x3*y1-x1*y3;

        if(a*b>0 && b*c>0)
            printf("YES\n");

        else 
            printf("NO\n");

    }

    return 0;

}

全部评论

(0) 回帖
加载中...
话题 回帖

本文相关内容

等你来战

查看全部

热门推荐