만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

보로노이 다이어그램 다시

시간 제한5초메모리 제한1024 MB

요약
맨해튼 거리로 N개의 서로 다른 점을 나눈 보로노이 다이어그램에서 무한히 뻗는 영역의 개수를 구합니다.
난이도

보통10점 중 6점

유형
기하, 정렬
정답자
아직 제출이 없습니다

문제

공집합이 아닌 점 집합 SS의 보로노이 다이어그램은 "이 위치에서 SS의 어느 점이 가장 가까운가?"라는 기준으로 평면을 나눈 것이다. 정확히는 점 집합 {P1,P2,⋯ ,Pn}\{P_1, P_2, \cdots, P_n\}에 대해, 점 KK가 영역 ii에 속하는 것은 모든 1≤j≤n1 \le j \le n에 대해 d(Pi,K)≤d(Pj,K)d(P_i, K) \le d(P_j, K)가 성립할 때이고 그때에만 해당한다. 일반적인 보로노이 다이어그램은 유클리드 거리를 쓰지만, 이 문제는 맨해튼 거리를 쓴다. d(X,Y)d(X, Y)는 XX와 YY의 맨해튼 거리이며, x좌표와 y좌표 차이의 절댓값을 더한 값이다. 따라서 (X1,Y1)(X_1, Y_1)과 (X2,Y2)(X_2, Y_2)의 맨해튼 거리는 ∣X2−X1∣+∣Y2−Y1∣|X_2 - X_1| + |Y_2 - Y_1|이다.

위 그림에서 평면의 모든 위치는 가장 가까운 점의 색으로 칠해져 있다. 하나의 영역에만 속하는 위치는 옅은 색으로, 둘 이상의 영역에 속하는 위치는 검은 선과 점으로 표시된다.

임의의 실수 RR에 대해, 영역 안에 d(O,P)>Rd(O, P) > R을 만족하는 점 PP가 존재하면 그 영역은 무한 영역이다. 여기서 OO는 원점이다. 보로노이 다이어그램에서 무한 영역의 개수를 구하라.

입력

첫 줄에 보로노이 다이어그램을 이루는 점의 개수 NN이 주어진다. 이후 NN개의 줄에 각각 점 PiP_i의 좌표 xix_i, yiy_i가 정수로 주어진다.

출력

무한 영역의 개수를 나타내는 정수 하나를 출력한다.

제한

  • 1≤N≤250 0001 \le N \le 250\,000
  • −109≤xi, yi≤109-10^9 \le x_i,\ y_i \le 10^9 (1≤i≤N1 \le i \le N)
  • NN개의 점은 모두 서로 다르다.

힌트

예제 2에서 겹치는 영역은 두 가지 이상의 색이 감산 혼합된 것으로 표시된다. (x≥5∧y≤1)∨(x≤1∧y≥5)(x \ge 5 \wedge y \le 1) \vee (x \le 1 \wedge y \ge 5)을 만족하는 모든 점은 다섯 영역에 모두 포함되므로 가장 진한 색으로 칠해진다.

예제3

  1. 예제 1

    입력
    4
    0 0
    -4 0
    3 4
    4 -2
    예상 출력
    4
  2. 예제 2

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

    입력
    9
    -4 -4
    -4 0
    -4 4
    0 -4
    0 0
    0 4
    4 -4
    4 0
    4 4
    예상 출력
    8