mojo's Blog
[백준 11758] CCW 본문
문제 링크 => 11758번: CCW (acmicpc.net)
외적을 이용하는 문제이다.
삼각형 ABC 가 있다고 할 때, 벡터 a를 점 A에서 B로 가는 벡터라 하고 벡터 b를 점 A에서 C로 가는 벡터라고 가정한다.
외적의 성질을 통해 a x b = |a||b| sin(t) 가 성립한다.
이때 sin(t) > 0 일때 점 C는 선분 AB 의 위에 존재하므로 반시계 방향이다.
반대로 sin(t) < 0 일때 점 C는 선분 AB 의 아래에 존재하므로 시계 방향이다.
sin(t) = 0 일때 점 C는 선분 AB 와 일직선을 이룬다.
풀이 code
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string>
#include <iostream>
#include <algorithm>
#include <queue>
#include <stack>
#include <vector>
#include <math.h>
#include <map>
#include <set>
#define INF 1000000000
#define endl '\n'
using namespace std;
int x1, x2, x3;
int y11, y2, y3;
pair<int, int> v1, v2;
void input() {
cin >> x1 >> y11;
cin >> x2 >> y2;
cin >> x3 >> y3;
}
void solve() {
v1.first = x2 - x1, v1.second = y2 - y11;
v2.first = x3 - x1, v2.second = y3 - y11;
int a = v1.first * v2.second;
int b = v1.second * v2.first;
if (a - b > 0) cout << 1;
else if (a - b < 0) cout << -1;
else cout << 0;
}
int main()
{
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
input();
solve();
return 0;
}
'백준 > etc' 카테고리의 다른 글
[백준 16491] 대피소 찾기 (0) | 2021.08.14 |
---|---|
[백준 17386] 선분 교차 1 (0) | 2021.08.14 |
[백준 1701] Cubeditor (0) | 2021.08.12 |
[백준 1786] 찾기 (0) | 2021.08.11 |
Priority_queue 를 최대 Heap 으로 구현해보기 (0) | 2021.08.05 |
Comments