본문 바로가기

온라인 코딩/수학(Math)

[백준] 11758번 CCW

 

 

문제

소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include<iostream>
 
struct Point {
private:
public:
    int x;
    int y;
};
 
int CCW(int x1, int y1, int x2, int y2, int x3, int y3) {
    return (x2 - x1) * (y3 - y1) - (x3 - x1) * (y2 - y1);
}
 
 
int main() {
    Point P1, P2, P3;
 
    std::cin >> P1.x >> P1.y;
    std::cin >> P2.x >> P2.y;
    std::cin >> P3.x >> P3.y;
 
 
    int result = CCW(P1.x, P1.y, P2.x, P2.y, P3.x, P3.y);
 
    if (result == 0) {
        std::cout << 0 << "\n";
    }
    else if (result > 0) {
        std::cout << 1 << "\n";
 
    }
    else {
        std::cout << -1 << "\n";
    }
 
}
 

 

후기

 

CCW은 2차원 좌표 평면 위에 있는 3개의 점에 대한 방향을 알 수 있게 해주는 알고리즘 중 하나로 자세한 내용은 

과련 글에 작성을 진행하였다.

 

CCW을 이용한 알고리즘 문제를 풀어보았다. 컨벡스 헐(Convex Hull) 알고리즘에 기본이 되는 알고리즘인 만큼 다음 알고리즘도 배워볼 예정이다.

 

출처 및 레퍼런스

문제 링크:https://www.acmicpc.net/problem/11758

 

관련 글

[자료구조 알고리즘/기타 알고리즘(Other)] - CCW(Counter Clock Wise)

 

 

'온라인 코딩 > 수학(Math)' 카테고리의 다른 글

[프로그래머스] 콜라츠 추측  (0) 2020.06.26
[백준] 17386번 선분 교차 1  (0) 2020.05.01
[백준] 4504번 배수 찾기  (0) 2020.04.11
[백준] 2581번 소수  (0) 2020.04.03
[백준] 1978번 소수 찾기  (0) 2020.02.08