CodeForces #140 (Div. 2)-A.

来源:互联网 发布:淘宝药店哪家好 编辑:程序博客网 时间:2024/06/06 03:29

A . Where do I Turn ?

 

题意:平面上有三个点A,B,C,已知AB两点连成一条直线,C点要么在直线AB上,要么就与直线AB垂直。已知初始方向是从A到B的方向并且位于B点上,求C点是向左还是直走还是向右。

思路:先排除三点在一条直线上的情况,再分四个情况分别分析左右方向。

 

AC代码:

#include <stdio.h>#include <stdlib.h>using namespace std;int main(){    __int64 x1,y1,x2,y2,x3,y3;    while(scanf("%I64d %I64d", &x1, &y1)!=EOF)    {        scanf("%I64d %I64d", &x2, &y2);        scanf("%I64d %I64d", &x3, &y3);        if( (x2-x1)*(y3-y2)==(y2-y1)*(x3-x2) )        {            printf("TOWARDS\n");        }        else        {            if(x2-x1>=0 && y2-y1>0)            {                if(x3-x2>0) printf("RIGHT\n");                else printf("LEFT\n");            }            else if(x2-x1<=0 && y2-y1<0)            {                if(x3-x2>0) printf("LEFT\n");                else printf("RIGHT\n");            }            else if(x2-x1<0 && y2-y1>=0)            {                if(y3-y2>0) printf("RIGHT\n");                else printf("LEFT\n");            }            else if(x2-x1>0 && y2-y1<=0)            {                if(y3-y2>0) printf("LEFT\n");                else printf("RIGHT\n");            }        }    }    return 0;}