만드는 중입니다

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

직사각형 색칠하기

면접 대비

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

요약
경계가 맞닿은 직사각형을 같은 묶음으로 합쳐서 필요한 색의 개수를 셉니다.
난이도

쉬움10점 중 3점

유형
유니온 파인드, 기하
정답자
아직 제출이 없습니다

문제

평면 위에 축에 평행한 직사각형 nn개가 주어진다. 축에 평행한 직사각형이란 각 변이 xx축 또는 yy축과 평행한 직사각형을 말한다. 다음 규칙에 따라 nn개의 직사각형을 칠할 때 필요한 색의 개수를 구하여라.

  1. 각 직사각형은 정확히 한 가지 색으로 칠한다.
  2. 서로 겹치는 두 직사각형은 같은 색으로 칠해야 한다. 직사각형을 경계를 포함한 점들의 집합으로 볼 때, 두 직사각형의 교집합이 공집합이 아니면 두 직사각형은 겹친다고 한다.
  3. 직사각형 RaR_a와 RbR_b에 대하여, 모든 1≤j<k1 \le j < k에서 RijR_{i_j}와 Rij+1R_{i_{j+1}}이 겹치는 직사각형 수열 Ra=Ri1,Ri2,…,Rik=RbR_a = R_{i_1}, R_{i_2}, \dots, R_{i_k} = R_b가 존재하면 RaR_a와 RbR_b는 같은 색이어야 한다. 그렇지 않으면 서로 다른 색이어야 한다. 예를 들어 아래 그림에서 직사각형 R9R_9는 R4R_4, R5R_5, R8R_8과 같은 색이어야 하고, R1R_1, R2R_2, R3R_3, R6R_6, R7R_7과는 다른 색이어야 한다.

즉, 겹침 관계로 연결된 직사각형들은 하나의 그룹을 이루며, 각 그룹은 서로 다른 하나의 색으로 칠해진다. 따라서 필요한 색의 개수는 이러한 그룹(연결 요소)의 개수와 같다.

입력

입력은 TT개의 테스트 케이스로 이루어진다. 첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스의 첫째 줄에는 직사각형의 개수 NN (1≤N≤2001 \le N \le 200)이 주어진다. 이어지는 NN개의 줄에는 각각 하나의 직사각형을 나타내는 네 개의 양의 정수 x1x_1, y1y_1, x2x_2, y2y_2 (1≤x1,y1,x2,y2≤100001 \le x_1, y_1, x_2, y_2 \le 10000)가 주어진다. (x1,y1)(x_1, y_1)은 직사각형의 왼쪽 아래 꼭짓점, (x2,y2)(x_2, y_2)는 오른쪽 위 꼭짓점의 좌표이다. 네 정수는 하나 이상의 공백으로 구분된다.

출력

각 테스트 케이스마다 필요한 색의 개수를 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    2
    9
    3 8 6 12
    1 2 4 9
    5 6 8 10
    11 9 13 11
    12 4 14 7
    6 2 7 7
    3 1 7 3
    10 4 12 7
    9 6 11 9
    4 
    11 9 13 11
    12 4 14 7
    10 4 12 7
    9 6 11 9
    
    예상 출력
    2
    1