QOJ.ac

QOJ

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

#17329. Jardín de infancia revisitado

Statistiques

En el jardín de infancia, una de las actividades que más tiempo consumía era recortar figuras de una hoja de papel con tijeras de seguridad. Analicemos un modelo simplificado de esta tarea: comienzas con una hoja de papel infinitamente grande con $N$ rectángulos disjuntos alineados con los ejes dibujados en ella, y los cortes son líneas rectas infinitamente largas. Un corte no debe "mellar" ningún rectángulo: no debe pasar por ningún punto estrictamente en el interior de ningún rectángulo. (Se permiten cortes que pasen exactamente a lo largo del borde de un rectángulo o a través de una esquina de un rectángulo). Cuando cortas un trozo de papel, el papel se separa en dos piezas diferentes que continúas cortando independientemente la una de la otra (los cortes futuros en una pieza no afectan a ninguna otra pieza).

Tu objetivo es realizar una secuencia de cortes de modo que cada rectángulo termine en su propio trozo de papel (ya que después de eso es bastante fácil recortar cada rectángulo exactamente).

Determina el número mínimo de cortes (no necesariamente alineados con los ejes) necesarios para recortar los rectángulos de esta manera. Si la tarea es imposible, imprime impossible.

Entrada

La primera línea de la entrada contiene un entero $N$ ($1 \le N \le 100$), el número de rectángulos.

Cada una de las siguientes $N$ líneas describe un rectángulo. Cada línea contiene cuatro enteros separados por espacios $x_1, y_1, x_2$ y $y_2$ ($|x_1|, |y_1|, |x_2|, |y_2| \le 10^9$, $x_1 < x_2$, $y_1 < y_2$), donde $(x_1, y_1)$ es la esquina inferior izquierda del rectángulo y $(x_2, y_2)$ es la esquina superior derecha del rectángulo.

Se garantiza que los rectángulos son disjuntos: no hay dos rectángulos que se intersecten en ningún punto común, incluyendo sus bordes o esquinas.

Salida

Imprime el número mínimo de cortes necesarios para separar todos los rectángulos. (No incluyas cortes adicionales que serían necesarios para recortar el papel en blanco de los márgenes de los rectángulos una vez separados). Si esta tarea es imposible, imprime impossible.

Nota

La explicación de la primera secuencia de cortes que separa los rectángulos se muestra a continuación. El primer corte se dibuja en rojo y el segundo en azul. Ten en cuenta que el corte azul no es válido antes del corte rojo, ya que habría mellado el rectángulo del lado derecho.

Ejemplos

Entrada 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

Salida 1

5

Entrada 2

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

Salida 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.