[叉积判断三点方向] hdu 6857 Clockwise or Counterclockwise

题目

在这里插入图片描述
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6857

思路

A(x1,y1) B(x2,y2) C(x3,y3)
向量AB=(x2-x1,y2-y1)
向量AC=(x3-x1,y3-y1)
若 AB x AC < 0 则 ABC 顺时针
若 AB x AC > 0 则 ABC 逆时针
若 AB x AC = 0 则 AB、AC 共线 同向或者反向

代码

#include<cstdio>
#include<cstring>
#include<cmath>
#include<cstdlib>
#include<cctype>
#include<ctime>
#include<iostream>
#include<string>
#include<map>
#include<queue>
#include<stack>
#include<set>
#include<vector>
#include<iomanip>
#include<list>
#include<bitset>
#include<sstream>
#include<fstream>
#include<complex>
#include<algorithm>
#if __cplusplus >= 201103L
#include <unordered_map>
#include <unordered_set>
#endif
#define int long long
using namespace std;
const int INF = 0x3f3f3f3f;

signed main(){
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	int t;
	cin>>t;
	while(t--){
		int x1,x2,x3,y1,y2,y3;
		cin>>x1>>y1>>x2>>y2>>x3>>y3;
		int ans=(x2-x1)*(y3-y1)-(x3-x1)*(y2-y1);
		if(ans<0) cout<<"Clockwise"<<endl;
		else cout<<"Counterclockwise"<<endl;
	}
    return 0;
}

猜你喜欢

转载自blog.csdn.net/kosf_/article/details/108014514
hdu