홍우진의 개발 일기장
[백준] 15803번: PLAYERJINAH’S BOTTLEGROUNDS / 파이썬 본문
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
정리하자면
세 점 A(x1,y1), B(x2,y2), C(x3,y3)에 대해
(x2−x1)⋅(y3−y1)−(y2−y1)⋅(x3−x1) 의 결과값이 0이라면
A, B, C는 일직선 상에 있다고 할 수 있다.
CCW알고리즘을 알고 있다면 쉬운 난이도이다.
난이도: ★☆☆☆☆
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1244번: 스위치 켜고 끄기 / 파이썬 (0) | 2025.01.08 |
---|---|
[백준] 17478번: 재귀함수가 뭔가요? / 파이썬 (0) | 2025.01.07 |
[백준] 17247번: 택시 거리 / 파이썬 (0) | 2025.01.05 |
[백준] 3009번: 네 번째 점 / 파이썬 (0) | 2025.01.04 |
[백준] 2566번: 최댓값 / 파이썬 (1) | 2025.01.03 |
Comments