문제 출처: https://www.acmicpc.net/problem/11758
Gold 5
경우의 수를 다 따져서 구했는데, 공식이 있는 문제였다
S < 0 : 시계방향
S > 0 : 반시계방향
S = 0 : 일직선
#include <iostream>
#define INF 987654321
using namespace std;
int main() {
pair<int, int> p1, p2, p3;
cin >> p1.first >> p1.second;
cin >> p2.first >> p2.second;
cin >> p3.first >> p3.second;
int X1 = p2.first - p1.first;
int X2 = p3.first - p1.first;
int Y1 = p2.second - p1.second;
int Y2 = p3.second - p1.second;
int S = (X1 * Y2) - (Y1 * X2);
int dir = 0;
if (S > 0) dir = 1;
else if (S < 0) dir = -1;
cout << dir << "\n";
return 0;
}