import sys
input = sys.stdin.readline
x1,y1,x2,y2 = map(int,input().split())
x3,y3,x4,y4 = map(int,input().split())
def eq1(x,y):
return (x2-x1)*(y-y1)-(y2-y1)*(x-x1)
def eq2(x,y):
return (x4-x3)*(y-y3)-(y4-y3)*(x-x3)
if eq1(x3,y3)*eq1(x4,y4) < 0 and eq2(x1,y1)*eq2(x2,y2) < 0:
print(1)
else:
print(0)
class5에 선분교차 2가 있길래 1은 어떤문제인가 궁금해서 풀어보았다.
그냥 말그대로 고등학교때 배우는 부등식의 영역 문제였다.
고딩때 배운 부등식의 영역을 기억할 수 있다면 매우 쉬운 문제이다. 직선의 방정식을 잡고, 그 직선 위 영역에 있는 점들은 < 방향 부등식을, 직선 아래 영역에 있는 점들은 > 방향 부등식을 만족시킨다. 예를 들어 y=x 그래프의 위에 있는 점 3,1은 1<3을 만족시킨다.
이를 응용하면 두 선분의 직선의 방정식을 잡고, 각각 상대 점들이 서로의 직선의 방정식에 대해서 두 점이 다른 영역에 있으면 교차한다는 뜻이다.
오늘의 교훈) 항상 그렇듯이 수학이 중요하다.