题目描述
平面上的三个点A(0,0),B(1,0),C(0,2)。按A->B->C是逆时针,按C-B-A是顺时针。
给你平面三点的顺序,请你判断是逆时针、顺时针还是共线。
输入格式
输入有若干行,每行有6个整数:X1、Y1、X2、Y2、X3、Y3表示你要顺序经过的三个点。
输出格式
每行输出一个结果,顺时针就输出“Clockwise”,逆时针就输出“Anticlockwise”,共线输出"Collineation"。
输入样例 复制
0 0 1 0 0 2
0 2 1 0 0 0
输出样例 复制
Anticlockwise
Clockwise
解题步骤:
#include<stdio.h>
int main()
{
int arr[6];
while(scanf("%d%d%d%d%d%d",&arr[0],&arr[1],&arr[2],&arr[3],&arr[4],&arr[5])!=EOF)
{
int pabx=arr[2]-arr[0];
int paby=arr[3]-arr[1];
int pbcx=arr[4]-arr[2];
int pbcy=arr[5]-arr[3];
if(pabx*pbcy-paby*pbcx>0)
{
printf("Anticlockwise\n");
}
else if(pabx*pbcy-paby*pbcx<0)
{
printf("Clockwise\n");
}
else
{
printf("Collineation\n");
}
}
return 0;
}
相关知识点:
利用向量求逆时针还是顺时针判断三点是顺时针还是逆时针方向 - (慎独) - 博客园 (cnblogs.com)