티스토리 뷰


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

'알고리즘 > BOJ' 카테고리의 다른 글

[백준] 15805 트리 나라 관광 가이드  (0) 2018.05.29
[백준] 15772 Segmentation  (0) 2018.05.29
[백준] 15783 세진 바이러스  (0) 2018.05.28
[백준] 14585 사수빈탕  (0) 2018.05.17
[백준] 11581 구호물자  (0) 2018.05.15
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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
글 보관함