QOJ.ac

QOJ

時間限制: 4.0 s 記憶體限制: 2048 MB 總分: 100

#17329. 유치원 다시 가기

统计

유치원 시절, 가장 많은 시간을 소비했던 활동 중 하나는 안전 가위로 종이에서 모양을 오려내는 것이었습니다. 이 작업의 단순화된 모델을 살펴봅시다. 당신은 $N$개의 서로 겹치지 않는 축 정렬(axis-aligned) 직사각형이 그려진 무한히 큰 종이에서 시작하며, 자르기는 무한히 긴 직선을 따라 이루어집니다. 자르기는 어떤 직사각형도 "건드려서는(nick)" 안 됩니다. 즉, 직사각형 내부의 어떤 점도 통과해서는 안 됩니다. (직사각형의 변을 정확히 따라가거나 꼭짓점을 통과하는 자르기는 허용됩니다.) 종이를 자르면 종이는 두 개의 서로 다른 조각으로 나뉘며, 이후 각 조각은 독립적으로 계속해서 자를 수 있습니다(한 조각에 대한 향후 자르기는 다른 조각에 영향을 주지 않습니다).

당신의 목표는 각 직사각형이 각각 별도의 종이 조각에 놓이도록 일련의 자르기를 수행하는 것입니다(그 이후에는 각 직사각형을 정확하게 오려내는 것이 매우 쉽기 때문입니다).

이런 방식으로 직사각형들을 분리하기 위해 필요한 최소한의 자르기 횟수(반드시 축 정렬일 필요는 없음)를 구하십시오. 만약 불가능하다면 impossible을 출력하십시오.

입력

입력의 첫 번째 줄에는 직사각형의 개수인 정수 $N$ ($1 \le N \le 100$)이 주어집니다.

다음 $N$개의 각 줄은 하나의 직사각형을 설명합니다. 각 줄에는 네 개의 정수 $x_1, y_1, x_2, y_2$ ($|x_1|, |y_1|, |x_2|, |y_2| \le 10^9$, $x_1 < x_2$, $y_1 < y_2$)가 공백으로 구분되어 주어지며, $(x_1, y_1)$은 직사각형의 왼쪽 아래 꼭짓점이고 $(x_2, y_2)$는 오른쪽 위 꼭짓점입니다.

직사각형들은 서로 겹치지 않음이 보장됩니다. 즉, 변이나 꼭짓점을 포함하여 어떤 두 직사각형도 공통된 점을 공유하지 않습니다.

출력

모든 직사각형을 분리하는 데 필요한 최소 자르기 횟수를 출력하십시오. (일단 분리된 후 직사각형 주변의 여백을 다듬기 위해 필요한 추가적인 자르기는 포함하지 마십시오.) 만약 이 작업이 불가능하다면 impossible을 출력하십시오.

참고

첫 번째 예제 입력에서 직사각형들을 분리하는 가능한 자르기 순서 중 첫 두 번의 자르기가 아래에 나타나 있습니다. 첫 번째 자르기는 빨간색으로, 두 번째 자르기는 파란색으로 그려져 있습니다. 파란색 자르기는 빨간색 자르기 전에는 유효하지 않음에 유의하십시오. 그렇게 하면 오른쪽에 있는 직사각형을 건드리게 되기 때문입니다.

예제

예제 입력 1

6
-1 1 0 4
1 0 3 1
2 2 3 3
4 0 5 3
2 4 5 5
6 3 7 5

예제 출력 1

5

예제 입력 2

4
0 -1 1 2
2 -1 5 0
-10 3 3 4
4 1 5 13

예제 출력 2

impossible

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.