PS/Baekjoon Online Judge

[백준 11758] CCW [C]

kimyoungrok 2021. 8. 25. 03:26
728x90

백준 - 11758


풀이

벡터곱을 이용해 P1P2에서 P3의 방향을 구할 수 있다.


소스코드

#include <stdio.h>
typedef struct{
    int x, y;
}Point;

int main(){
    Point p[3];
    for (int i = 0; i < 3; i++)
        scanf("%d %d", &p[i].x, &p[i].y);
    int result = (p[1].x - p[0].x)*(p[2].y - p[0].y) - (p[1].y - p[0].y)*(p[2].x - p[0].x);
    if (result < 0) puts("-1");
    else putchar(result > 0 ? '1' : '0');
}

출처 및 참고자료

 

11758번: CCW

첫째 줄에 P1의 (x1, y1), 둘째 줄에 P2의 (x2, y2), 셋째 줄에 P3의 (x3, y3)가 주어진다. (-10,000 ≤ x1, y1, x2, y2, x3, y3 ≤ 10,000) 모든 좌표는 정수이다. P1, P2, P3의 좌표는 서로 다르다.

www.acmicpc.net

 

벡터곱 - 위키백과, 우리 모두의 백과사전

선형대수학에서, 벡터곱(vector곱, 영어: vector product) 또는 가위곱(영어: cross product)은 수학에서 3차원 공간의 벡터들간의 이항연산의 일종이다. 연산의 결과가 스칼라인 스칼라곱과는 달리 연산의

ko.wikipedia.org

728x90

'PS > Baekjoon Online Judge' 카테고리의 다른 글

[백준 1806] 부분합 [C]  (0) 2021.08.25
[백준 2166] 다각형의 면적 [C]  (0) 2021.08.25
[백준 9527] 1의 개수 세기 [C]  (0) 2021.08.25
[백준 9252] LCS 2 [C]  (0) 2021.08.24
[백준 9935] 문자열 폭발 [C]  (0) 2021.08.24