Imagine un grupo de rectángulos dibujados en el plano, cada rectángulo con sus vértices en coordenadas enteras y sus lados paralelos a los ejes:
Los rectángulos dividen el plano en varias regiones disjuntas, de color rojo y azul a continuación:
Su objetivo es encontrar el número de tales regiones que son cuadrados perfectos. En el ejemplo anterior, hay tres:
Tenga en cuenta que el gran cuadrado en el medio no se cuenta, ya que no es una sola región, sino que se compone de varias regiones disjuntas más pequeñas.
Entrada
Puede escribir una función o un programa completo para este desafío.
La entrada será 4n
enteros no negativos que definirán n
rectángulos en el plano. Cada rectángulo está representado por dos vértices opuestos, por ejemplo, 4 9 7 8
representa el rectángulo con vértices opuestos (4, 9)
y (7, 8)
. Tenga en cuenta que este rectángulo también se puede representar como 7 8 4 9
o 4 8 7 9
.
El formato de entrada exacto es flexible (por ejemplo, cadena separada por espacios, cadena separada por comas, matriz única de enteros, lista de tuplas de coordenadas, etc.), pero sea razonable y dé un ejemplo de cómo ejecutar su código en su publicación. No puede reordenar la entrada.
Para simplificar, puede suponer que no se superpondrán dos bordes, esto incluye la superposición en un vértice. En particular, esto implica que no habrá dos rectángulos que se toquen de borde a borde o de esquina a esquina, y los rectángulos tendrán un área distinta de cero.
Salida
Su programa debe imprimir o devolver un número entero único, que es el número de regiones cuadradas.
Tanteo
Este es el código de golf, por lo que gana el código en la menor cantidad de bytes.
Casos de prueba
Entrada:
0 0 5 5
6 8 10 4
14 16 11 13
19 1 18 2
Salida:
4
Esto es simplemente cuatro cuadrados disjuntos:
Entrada:
2 1 3 11
1 10 5 19
6 10 11 3
8 8 15 15
13 13 9 5
15 1 19 7
17 19 19 17
Salida:
3
Este es el caso de prueba de ejemplo al comienzo de la publicación.
Entrada:
0 9 15 12
6 3 18 15
9 6 12 20
13 4 17 8
Salida:
7
Entrada:
5 9 11 10
5 12 11 13
6 8 7 14
9 8 10 14
13 8 14 9
13 10 14 14
Salida:
14
Entrada:
0 99999 100000 0
Salida:
0
Este es solo un gran rectángulo.
Entrada:
0 99999 100000 0
2 1 142857 285714
Salida:
1
Dos grandes rectángulos que se superponen.