QOJ.ac

QOJ

Limite de temps : 4.0 s Limite de mémoire : 2048 MB Points totaux : 100

#17329. Trở lại trường mẫu giáo

Statistiques

Ở trường mẫu giáo, một trong những hoạt động tốn thời gian nhất là cắt các hình từ một tờ giấy bằng kéo an toàn. Hãy xem xét một mô hình đơn giản hóa của công việc này: bạn bắt đầu với một tờ giấy vô hạn có vẽ $N$ hình chữ nhật rời nhau với các cạnh song song với trục tọa độ, và các nhát cắt là những đường thẳng vô hạn. Một nhát cắt không được "phạm" vào bất kỳ hình chữ nhật nào: nó không được đi qua bất kỳ điểm nào nằm hoàn toàn trong phần nội thất của bất kỳ hình chữ nhật nào. (Các nhát cắt đi chính xác dọc theo cạnh của hình chữ nhật hoặc đi qua đỉnh của hình chữ nhật là được phép.) Khi bạn cắt một mảnh giấy, tờ giấy sẽ tách thành hai mảnh giấy riêng biệt mà bạn có thể tiếp tục cắt độc lập với nhau (các nhát cắt sau này trên một mảnh giấy không ảnh hưởng đến các mảnh giấy khác).

Mục tiêu của bạn là thực hiện một chuỗi các nhát cắt sao cho mỗi hình chữ nhật nằm trên một mảnh giấy riêng biệt (vì sau đó việc cắt rời từng hình chữ nhật là khá dễ dàng).

Xác định số lượng nhát cắt tối thiểu (không nhất thiết phải song song với trục tọa độ) cần thiết để tách các hình chữ nhật theo cách này. Nếu nhiệm vụ là không thể, hãy in ra impossible.

Dữ liệu vào

Dòng đầu tiên của dữ liệu vào chứa một số nguyên $N$ ($1 \le N \le 100$), số lượng hình chữ nhật.

Mỗi dòng trong số $N$ dòng tiếp theo mô tả một hình chữ nhật. Mỗi dòng chứa bốn số nguyên cách nhau bởi dấu cách $x_1, y_1, x_2$ và $y_2$ ($|x_1|, |y_1|, |x_2|, |y_2| \le 10^9, x_1 < x_2, y_1 < y_2$), trong đó $(x_1, y_1)$ là góc dưới bên trái của hình chữ nhật và $(x_2, y_2)$ là góc trên bên phải của hình chữ nhật.

Các hình chữ nhật được đảm bảo là rời nhau: không có hai hình chữ nhật nào giao nhau tại bất kỳ điểm chung nào, kể cả trên các cạnh hoặc đỉnh của chúng.

Dữ liệu ra

In ra số lượng nhát cắt tối thiểu cần thiết để tách tất cả các hình chữ nhật. (Không bao gồm các nhát cắt bổ sung cần thiết để tỉa phần giấy trắng xung quanh lề của các hình chữ nhật sau khi đã tách rời.) Nếu nhiệm vụ này là không thể, hãy in ra impossible.

Ghi chú

Hai nhát cắt đầu tiên trong một chuỗi các nhát cắt có thể có để tách các hình chữ nhật được hiển thị dưới đây. Nhát cắt đầu tiên được vẽ bằng màu đỏ và nhát cắt thứ hai bằng màu xanh dương. Lưu ý rằng nhát cắt màu xanh dương không hợp lệ trước nhát cắt màu đỏ, vì nó sẽ phạm vào hình chữ nhật ở phía bên phải.

Ví dụ

Ví dụ 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
5

Ví dụ 2

4
0 -1 1 2
2 -1 5 0
-10 3 3 4
4 1 5 13
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.