티스토리 뷰

ps

BOJ 17386(선분 교차 1)풀이

KWG07(joseph0528) 2021. 2. 25. 13:34

solved.ac : 골드 3

각 점들마다 ccw를 구해서 교차했는지 안 했는지 판별하면 된다.

 

한 선분의 두점과 다른 선분의 점과 ccw를 했을 때 1,-1 또는 -1,1 또는 0,0 이면 교차한다.

반대도 해주면 된다.

def q(x1,y1,x2,y2,x3,y3):
    r=x1*y2+x2*y3+x3*y1;r=r-y1*x2-y2*x3-y3*x1
    if r>0:return 1
    elif r<0:return -1
    else:return 0
a,b,c,d=map(int,input().split())
e,f,g,h=map(int,input().split())
if q(a,b,c,d,e,f)+q(a,b,c,d,g,h)==0 and q(e,f,g,h,a,b)+q(e,f,g,h,c,d)==0:
    print(1)
else:
    print(0)
#print(q(a,b,c,d,e,f))
#print(q(a,b,c,d,g,h))
#print()
#print(q(e,f,g,h,a,b))
#print(q(e,f,g,h,c,d))

 

'ps' 카테고리의 다른 글

BOJ 17472(다리 만들기 2)풀이  (0) 2021.03.01
BOJ 16404(주식회사 승범이네)풀이  (0) 2021.02.26
BOJ 1944(복제 로봇)풀이  (0) 2021.02.22
BOJ 2482(색상환)풀이  (0) 2021.02.18
BOJ 20040(사이클 게임)풀이  (0) 2021.02.14
댓글