LTC_1B - Trái phải

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, JavaScript, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Cho một đường thẳng đi qua hai điểm ~A(x_A, y_A)~, ~B(x_B, y_B)~, và một điểm ~C(x_C, y_C)~ tự do.

Hãy cho biết điểm ~C~ nằm trên, bên trái hay bên phải đường thẳng ~AB~. Biết rằng vị trí này được xác định bằng cách đứng tại điểm ~A~ và nhìn về hướng tới điểm ~B~.

Input

  • Gồm 3 dòng, mỗi dòng gồm 2 số nguyên lần lượt là toạ độ ~x~ và ~y~ của 3 điểm ~A~, ~B~, ~C~.
  • ~(-10^9 \leq x_{A,B,C} , y_{A,B,C} \leq 10^9)~.

  • Input sẽ có dạng:

xA yA
xB yB
xC yC

Output

  • Gồm 1 dòng gồm 1 số nguyên mô tả tương quan vị trí của điểm ~C~ so với đoạn thẳng ~AB~.
  • Nếu nằm bên trái, in ra ~-1~.
  • Nều nằm bên phải, in ra ~1~.
  • Nếu nằm trên đường thẳng chứa ~AB~, in ra ~0~.

Sample

Input #1
1 1
5 3
2 3
Output #1
-1
Input #2
0 2
10 1
-1 2
Output #2
1
Input #3
1 1
5 3
3 2
Output #3
0

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • -1
    dinhvantung0611  đã bình luận lúc 14, Tháng 1, 2024, 8:28

    Bài này mình hơi thắc mắc chút:

    lời giải bảo dùng tích có hướng nhưng tích có hướng chỉ dùng trong không gian thôi mà. Đề và lời giải rõ lại là tích vô hướng.

    Với cả tích có hướng của 2 vector a(xa, ya) và b(xb, yb) = |a|.|b|.cos(a, b) = xa.xb + ya.yb chứ mng sao lại là xa.yb - ya.xb vậy ạ. Mong cao nhân chỉ giáo