2020 杭电多校第八场 1003 Clockwise or Counterclockwise 向量叉乘

夏兴平
2023-12-01

2020 杭电多校第八场 1003 Clockwise or Counterclockwise 向量叉乘

题解

如果点 C 在向量 AB⃗ 的右侧, 则方向为顺时针, 否则为逆时针.C 在 AB⃗ 的右侧, 当且
仅当 AB⃗ × BC < ⃗ 0 .故我们只需要判断这两条向量的叉积的正负性即可。

代码

#include<stdio.h>
#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;
#define ll long long
#define INF 0x3f3f3f3f
const int mod = 1e9+7;
const int maxn = 1e6+5;
bool cmp(int a,int b)
{
    return a>b;
}
int main()
{
    int T=1;
    scanf("%d",&T);
    while(T--)
    {
        double x1,y1,x2,y2,x3,y3;
        cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
        double ans=(x2-x1)*(y3-y1)-(y2-y1)*(x3-x1);
        if(ans > 0) {
            puts("Counterclockwise");
        }
        else {
            puts("Clockwise");
        }
    }
    return 0;
}
 类似资料: