11758번 : CCW / C++
2023. 6. 18. 12:01ㆍ개인공부/코딩테스트
CCW알고리즘은 외적을 사용해서 넓이 값의 부호를 판단해서 두 직선의 방향을 판단하는 알고리즘이다.
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
32
33
34
35
36
37
38
39
40
41
|
#include <iostream>
using namespace std;
typedef long long ll;
ll CCW(ll x1, ll y1, ll x2, ll y2, ll x3, ll y3)
{
return (x2 - x1) * (y3 - y1) - (x3 - x1)*(y2 - y1);
}
int main()
{
ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
ll x[3], y[3];
for (int i = 0; i < 3; ++i)
{
cin >> x[i] >> y[i];
}
ll c = CCW(x[0], y[0], x[1], y[1], x[2], y[2]);
if (c == 0)
{
cout << 0;
}
else if (c > 0)
{
cout << 1;
}
else
cout << -1;
return 0;
}
|
cs |
'개인공부 > 코딩테스트' 카테고리의 다른 글
11664번: 선분과 점 / C++ (0) | 2023.06.18 |
---|---|
17386번 : 선분 교차 1 /C++ (0) | 2023.06.18 |
백준 16135번 : OBB(Oriented bounding box) / C++ (0) | 2023.06.15 |
백준 20040번: 사이클 게임 / C++ (0) | 2023.04.03 |
백준 1717번: 집합의 표현 / C++ (0) | 2023.04.03 |