BOJ-11758 CCW(C++)

4584 ワード

質問元: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;
}