NYOJ 68 - 三點順序

描述

現在給你不共線的三個點A,B,C的座標,它們一定能組成一個三角形,現在讓你判斷A,B,C是順時針給出的還是逆時針給出的?

如:

圖1:順時針給出

圖2:逆時針給出



<圖1> <圖2>

輸入


每行是一組測試數據,有6個整數x1,y1,x2,y2,x3,y3分別表示A,B,C三個點的橫縱座標。(座標值都在0到10000之間)
輸入0 0 0 0 0 0表示輸入結束

測試數據不超過10000組


輸出


如果這三個點是順時針給出的,請輸出1,逆時針給出則輸出0


樣例輸入

0 0 1 1 1 3
0 1 1 0 0 0
0 0 0 0 0 0

樣例輸出

0
1

轉換成叉乘,就是判斷大於 0 的一個程序。

PS.想了好多有的沒的WA了好幾次,我還是拿衣服


#include <cstdio>

int main()
{
    int n[10];
    while (scanf("%d%d%d%d%d%d", &n[0], &n[1], &n[2], &n[3], &n[4], &n[5]) != EOF)
    {
        if (!(n[0] || n[2] || n[3] || n[4] || n[5]))
            break;
        n[6] = n[2] - n[0];
        n[7] = n[3] - n[1];
        n[8] = n[4] - n[0];
        n[9] = n[5] - n[1];
        if (n[6] * n[9] - n[7] * n[8] < 0)
            printf("1\n");
        else
            printf("0\n");
    }
    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章