선분 교차 1

면접 대비

시간 제한0.25초메모리 제한512 MB

요약
두 선분의 정수 끝점이 주어질 때, 세 점이 한 직선 위에 있지 않다는 조건에서 두 선분이 교차하는지 방향 판정으로 확인한다.
난이도

보통10점 중 5점

유형
기하, 수학, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

2차원 좌표 평면 위의 두 선분 L1L_1, L2L_2가 주어졌을 때, 두 선분이 교차하는지 아닌지 구해보자.

L1L_1의 양 끝 점은 (x1,y1)(x_1, y_1), (x2,y2)(x_2, y_2)이고, L2L_2의 양 끝 점은 (x3,y3)(x_3, y_3), (x4,y4)(x_4, y_4)이다.

입력

첫째 줄에 L1L_1의 양 끝 점 x1,y1,x2,y2x_1, y_1, x_2, y_2가, 둘째 줄에 L2L_2의 양 끝 점 x3,y3,x4,y4x_3, y_3, x_4, y_4가 주어진다. 세 점이 일직선 위에 있는 경우는 없다.

출력

L1L_1과 L2L_2가 교차하면 1, 아니면 0을 출력한다.

제한

  • −1 000 000≤x1,y1,x2,y2,x3,y3,x4,y4≤1 000 000-1\,000\,000 \le x_1, y_1, x_2, y_2, x_3, y_3, x_4, y_4 \le 1\,000\,000
  • x1,y1,x2,y2,x3,y3,x4,y4x_1, y_1, x_2, y_2, x_3, y_3, x_4, y_4는 정수
  • 선분의 길이는 0보다 크다.

예제2

  1. 예제 1

    입력
    1 1 5 5
    1 5 5 1
    
    예상 출력
    1
    
  2. 예제 2

    입력
    1 1 5 5
    6 10 10 6
    
    예상 출력
    0