알고리즘/BOJ

[백준] 15803 PLAYERJINAH’S BOTTLEGROUNDS

세진짱 2018. 5. 29. 14:31


3개의 점이 직선인지 아닌지 판단하는 문제다

CCW를 이용하면 쉽게 판단할 수 있다

CCW를 사용해서 직선이면 0을 리턴하므로 

0인지 아닌지만 확인하자!


소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int ccw(int x1, int y1, int x2, int y2, int x3, int y3) {
    int ret = x1*y2 + x2*y3 + x3*y1;
    ret -= (y1*x2 + y2*x3 + y3*x1);
    return ret;
}
 
int main() {
    int x1, y1, x2, y2, x3, y3;
    cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
    if (ccw(x1, y1, x2, y2, x3, y3)==0) puts("WHERE IS MY CHICKEN?");
    else puts("WINNER WINNER CHICKEN DINNER!");
}
cs