티스토리 뷰
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 |
댓글