상세 컨텐츠

본문 제목

ccw랑 360정렬

카테고리 없음

by cr7ronaldo 2024. 1. 25. 17:23

본문

int ccw(const pll& v1, const pll& v2) {
    ll p = v1.first* v2.second - v1.second * v2.first;
    if (p == 0) return 0;
    else if (p < 0) return -1;
    return 1;
}
int fff(const pll& v1) {
    if (v1.first > 0 && v1.second >= 0) return 1;
    else if (v1.first <= 0 && v1.second > 0)return 2;
    else if (v1.first < 0 && v1.second <= 0) return 3;
    return 4;
}

int my_comp(const pll& a, const pll& b) {
    if (fff(a) != fff(b)) return fff(a) < fff(b);
    return 0 < ccw(a, b);
}