백준 17387 CCW

백준 17387 ←클릭 CCW를 활용한 문제이다. CCW는 counter clock wise로 점 3개가 있을 때 이 점 3개를 이은 선의 방향을 알 수 있다. 방향을 알 수 있는 원리는 간단한데, 한 점을 기준으로 나머지 두 점을 잇는 직선 두개를 그린 다음, 외적 계산을 하면 된다. 변수 설정 CCW(A, B, C): $$\overline{AB}$$ $$\times$$ $$\overline{AC}$$계산을 하는 함수이다. 필자는 파이썬을 썼지만 다른 언어에서는 외적 계산 값이 음수이면 -1, 0이면 0, 양수이면 1을 return하도록 하면 overflow를 피할 수 있을 것이다. 내 코드에서는 그냥 cross()라고 적었는데 보통 CCW()로 적는다. CCW 아이디어 >* 한 선분을 기준으로 나머지 선분의 두 점을 각각 외적 계산을 한다. >* `CCW(A,B,C)

2023년 2월 23일
·
0개의 댓글
·