아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

언덕 걷기

시간 제한1초메모리 제한128 MB

요약
서로 만나지 않는 기울어진 선분들이 주어질 때, 소가 각 언덕을 올라 꼭대기에서 수직으로 떨어지며 닿는 언덕의 수를 세는 문제다.
난이도

어려움10점 중 8점

유형
정렬, 이분 탐색, 기하, 시뮬레이션
정답자
아직 제출이 없습니다

문제

NN개의 언덕이 있습니다 (1≤N≤100,0001 \le N \le 100{,}000). 각 언덕은 점 (x1,y1)(x_1, y_1)에서 점 (x2,y2)(x_2, y_2)로 이어지는 선분이며, x1<x2x_1 < x_2이고 y1<y2y_1 < y_2입니다. 어떤 두 선분도 서로 교차하지 않으며, 끝점에서조차 닿지 않습니다. 또한 첫 번째 언덕은 (x1,y1)=(0,0)(x_1, y_1) = (0, 0)을 만족합니다.

소 베시(Bessie)는 첫 번째 언덕의 (0,0)(0, 0)에서 출발합니다. 베시는 어떤 언덕 위에 있을 때 위쪽 끝까지 올라간 뒤 가장자리에서 뛰어내립니다. 이때 다른 언덕 위에 착지하면 그 언덕을 따라 계속 걸어가고, 그렇지 않으면 아주 멀리 떨어져 y=−∞y = -\infty에 있는 푹신한 베개 더미 위에 안전하게 착지합니다.

각 언덕(선분 (x1,y1)→(x2,y2)(x_1, y_1) \to (x_2, y_2))은 점 (x1,y1)(x_1, y_1)은 포함하지만 점 (x2,y2)(x_2, y_2)는 포함하지 않는 것으로 봅니다. 즉, 베시가 x=x1x = x_1 위치에서 수직으로 떨어지면 그 언덕에 착지하지만, x=x2x = x_2 위치에서 떨어지면 착지하지 않습니다.

베시가 걷는 동안 한 번이라도 밟는 언덕의 총 개수를 구하세요.

입력

  • 첫째 줄: 언덕의 개수 NN.
  • 둘째 줄부터 N+1N+1째 줄까지: i+1i+1번째 줄에는 언덕 ii를 나타내는 네 정수 x1 y1 x2 y2x_1\ y_1\ x_2\ y_2가 주어집니다. 모든 정수는 0…1,000,000,0000 \ldots 1{,}000{,}000{,}000 범위의 값입니다.

출력

  • 첫째 줄: 베시가 걷는 동안 밟는 언덕의 개수.

힌트

예제에는 네 개의 언덕이 있습니다. 첫 번째 언덕은 (0,0)(0, 0)에서 (5,6)(5, 6)까지 이어집니다. 베시는 이 언덕에서 출발하여 언덕 #1, #4, 그리고 마지막으로 #3을 따라 걸으며, 모두 세 개의 언덕을 밟습니다.

예제1

  1. 예제 1

    입력
    4
    0 0 5 6
    1 0 2 1
    7 2 8 5
    3 0 7 7
    
    예상 출력
    3