Notice
Recent Posts
Link
정화 코딩
[python] 선분 교차 1 (백준 17386번) 본문
https://www.acmicpc.net/problem/17386
#python
import sys
input = sys.stdin.readline
x1, y1, x2, y2 = map(int, input().split())
x3, y3, x4, y4 = map(int, input().split())
def ccw(x1, y1, x2, y2, x3, y3):
ccw = (x1 * y2 + x2 * y3 + x3 * y1) - (x2 * y1 + x3 * y2 + x1 * y3)
if ccw > 0:
return 1
elif ccw < 0:
return -1
else:
return 0
l1p3 = ccw(x1, y1, x2, y2, x3, y3)
l1p4 = ccw(x1, y1, x2, y2, x4, y4)
l2p1 = ccw(x3, y3, x4, y4, x1, y1)
l2p2 = ccw(x3, y3, x4, y4, x2, y2)
if l1p3 * l1p4 < 0 and l2p1 * l2p2 < 0:
print(1)
else:
print(0)
ccw의 결과값을 통해 세 점의 위치 관계를 파악할 수 있다.
ccw = (x1 * y2 + x2 * y3 + x3 * y1) - (x2 * y1 + x3 * y2 + x1 * y3)
(정답)
'PS' 카테고리의 다른 글
[C++] 반짝반짝 2 (백준 22984번) (0) | 2024.05.28 |
---|---|
[C++] 호 안에 수류탄이야!! (백준 15889번) (0) | 2024.05.28 |
[C++] 좌표 압축 (백준 18870번) (0) | 2024.05.25 |
[C++] Z (백준 1074번) (0) | 2024.05.25 |
[python] 가장 긴 증가하는 부분 수열 시리즈 (0) | 2024.05.21 |
Comments