백준 11758 CCW (C++)

안유태·2022년 12월 1일
0

알고리즘

목록 보기
86/239
post-custom-banner

11758번: CCW

CCW 알고리즘을 이용한 문제이다. ccw 알고리즘을 사용한 값을 구했을 때, 양수이면 반시계, 음수이면 시계, 0이면 일직선이 된다. 이에 맞춰 출력해주었다.
ccw 알고리즘이란 것을 처음 알게 되었다. 기하학관련 알고리즘은 처음이었다. 기억해두자.



#include <iostream>

using namespace std;

pair<int, int> p1;
pair<int, int> p2;
pair<int, int> p3;

void solution() {
    int a = (p2.first - p1.first) * (p3.second - p1.second) - (p3.first - p1.first) * (p2.second - p1.second);

    if (a > 0) {
        cout << 1;
    }
    else if (a < 0) {
        cout << -1;
    }
    else {
        cout << 0;
    }
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);

    cin >> p1.first >> p1.second;
    cin >> p2.first >> p2.second;
    cin >> p3.first >> p3.second;

    solution();

    return 0;
}
profile
공부하는 개발자
post-custom-banner

0개의 댓글