Today
Total
01-10 00:53
관리 메뉴

홍우진의 개발 일기장

[백준] 15803번: PLAYERJINAH’S BOTTLEGROUNDS / 파이썬 본문

알고리즘/백준

[백준] 15803번: PLAYERJINAH’S BOTTLEGROUNDS / 파이썬

홍우진 2025. 1. 6. 00:27
728x90
반응형

문제 링크


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

풀이 코드


p = [list(map(int,input().split())) for x in range(3)]
if (p[1][0]-p[0][0]) * (p[2][1]-p[0][1]) - (p[1][1]-p[0][1]) * (p[2][0]-p[0][0]) == 0:
    print('WHERE IS MY CHICKEN?')
else:
    print('WINNER WINNER CHICKEN DINNER!')

코드 해석


세개의 값이 일직선상에 놓여있는지 확인하는 방법을 찾아보니 CCW 알고리즘이 있었다.

https://degurii.tistory.com/47

 

[알고리즘] CCW로 세 점의 방향성 판별하기

0. 들어가기 전에 첫 알고리즘 포스트입니다. 이번에 쓸 내용은 CCW입니다. 원래는 기하 알고리즘들을 전반적으로 다루려고 했는데 생각보다 글이 길어져서 CCW만 쓰게 되었습니다. 본 글의 내용

degurii.tistory.com

정리하자면

세 점 A(x1​,y1​), B(x2,y2), C(x3,y3)에 대해

(x2−x1)⋅(y3−y1)−(y2−y1)⋅(x3−x1) 의 결과값이 0이라면

A, B, C는 일직선 상에 있다고 할 수 있다.

 

CCW알고리즘을 알고 있다면 쉬운 난이도이다.

난이도: ★☆

728x90
반응형
Comments