안녕하세요.

여행벌입니다.

오늘은 BOJ 11758 - CCW 문제풀이를 해보겠습니다.


https://www.acmicpc.net/problem/11758

 

11758번: CCW

첫째 줄에 P1의 (x1, y1), 둘째 줄에 P2의 (x2, y2), 셋째 줄에 P3의 (x3, y3)가 주어진다. (-10,000 ≤ x1, y1, x2, y2, x3, y3 ≤ 10,000) 모든 좌표는 정수이다. P1, P2, P3의 좌표는 서로 다르다.

www.acmicpc.net

[알고리즘풀이]

CCW 기법을 이용한다.

#include<iostream>

using namespace std;

int main(void) {
	int x1, y1, x2, y2, x3, y3;
	cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;

	int temp1 = (y2 - y1) * (x3 - x1) + y1 * (x2 - x1);
	int temp2 = (x2 - x1) * y3;

	if (temp1 < temp2)
		cout << "1";
	else if (temp1 > temp2)
		cout << "-1";
	else
		cout << "0";

}

CCW 기법을 모르시는 분들은 아래 포스팅을 읽고 공부하시면 좋을 것 같습니다.

https://travelbeeee.tistory.com/45

 

[알고리즘이론] 세 점의 방향성 파악하기 'CCW 알고리즘'

안녕하세요. 여행벌입니다. 오늘은 세 점이 주어졌을 때, 방향성을 파악할 수 있는 CCW 알고리즘에 대해 다뤄보겠습니다. 다음과 같이 세 점 A, B, C 가 있을 때, 세 점의 방향성을 시계방향 / 반시계방향 / 일..

travelbeeee.tistory.com


열심히 공부하고 노력하고 있는 꿈 많은 예비 개발자입니다.

혼자서 공부한 내용을 정리하고 포스팅하다 보니 틀린 내용이 있을 수도 있습니다.

많은 조언과 가르침 주실 분은 댓글로 자유롭게 남겨주셔도 좋을 것 같습니다! 

감사합니다.

'Problem Solving > BOJ' 카테고리의 다른 글

[BOJ] 4949 - The Balance of the World  (0) 2019.09.02
[BOJ] 1541 - 잃어버린 괄호  (0) 2019.08.31
[BOJ] 7569 - 토마토  (0) 2019.08.27
[BOJ] 1004 - 어린 왕자  (0) 2019.08.22
[BOJ] 1003 - 피보나치 함수  (0) 2019.08.22

+ Recent posts