nota: el arte de la cadena puede verse horrible aquí debido a la rareza de la fuente SE: P :(
Dada una lista de cuatro tuplas que representan las esquinas de los rectángulos, dibuje rectángulos translúcidos uno sobre el otro en ese orden.
Para este desafío, debe tener la coordenada más pequeña en la esquina superior izquierda y el eje x aumentando hacia la derecha y el eje y aumentando hacia abajo.
Una tupla de cuatro (x0, y0, x1, y1)
o (x0, x1, y0, y1)
representa los (x, y)
pares de coordenadas de las esquinas superior izquierda e inferior derecha de un rectángulo (puede elegir cualquiera de los dos formatos para rectángulos, pero debe ser coherente)
¿Qué quiero decir con "rectángulo translúcido"? Bueno, para este desafío, utilizarás el carácter espacial y la mayoría de los personajes de dibujo de caja ; específicamente, todos los que se usan para dibujar rectángulos, incluidos los caracteres "en negrita". Cuando se dibuja un rectángulo translúcido, primero desaparecen todas las líneas finas en el espacio ocupado y todas las líneas en negrita se vuelven delgadas, y luego el rectángulo en sí se dibuja en líneas en negrita.
Por ejemplo, si dibuja un rectángulo en la esquina superior izquierda y luego en la esquina inferior derecha, podría verse así:
┏━━━━┓
┃ ┃
┃ ┃
┃ ┏━━╇━━┓
┃ ┃ │ ┃
┗━╉──┘ ┃
┃ ┃
┃ ┃
┗━━━━━┛
Para ser claros, las líneas se aclaran (negrita -> delgada -> ninguna) para todas las líneas estrictamente dentro del rectángulo (por ejemplo, las líneas que miran hacia abajo se ven afectadas por el borde superior pero no por el borde inferior).
Casos de prueba
Se proporcionará cierto número de líneas de entrada, seguidas de unicode-art, para cada caso de prueba.
0 0 5 5
5 5 10 10
3 3 7 7
2 2 8 8
┏━━━━┓
┃ ┃
┃ ┏━━╇━━┓
┃ ┃┌─┴─┐┃
┃ ┃│ │┃
┗━╉┤ ├╊━┓
┃│ │┃ ┃
┃└─┬─┘┃ ┃
┗━━╈━━┛ ┃
┃ ┃
┗━━━━┛
14 5 15 9
13 2 15 16
6 4 15 11
┏━┓
┃ ┃
┏━━━━━━╇━┫
┃ │ ┃
┃ │ ┃
┃ │ ┃
┃ │ ┃
┃ │ ┃
┃ │ ┃
┗━━━━━━╈━┫
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┗━┛
6 8 10 11
15 12 16 16
14 10 16 16
9 1 15 15
┏━━━━━┓
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┏━━╉┐ ┃
┃ ┃│ ┃
┃ ┃│ ┌╊┓
┗━━╉┘ │┃┃
┃ │┠┨
┃ │┃┃
┃ │┃┃
┗━━━━╈┩┃
┗┷┛
Reglas
- La entrada puede estar en cualquier formato razonable para una lista de cuatro tuplas. La entrada puede ser de una sola indexada o cero indexados a lo largo de cualquiera de los ejes (es decir, la esquina superior izquierda puede ser cualquiera de
(0, 0)
,(0, 1)
,(1, 0)
,(1, 1)
. - La salida debe ser tan unicode-art como se describe. La salida puede no tener nuevas líneas iniciales y puede tener como máximo una nueva línea final (después de la última línea). Los espacios en blanco finales se ignorarán a los efectos de este desafío.
Puntos de código
Las tuberías horizontales y verticales en negrita y ligeras están en el rango [U+2500, U+2503]
. Los diversos tubos de esquina están en el rango [U+250C, U+251C)
. Las tuberías de tres brazos están en el rango [U+251C, U+253C)
. Las tuberías de cuatro brazos están en el rango [U+253C, U+254C)
. Las tuberías restantes que se pueden encontrar en mi programa nunca se usan realmente.
Typically this uses only 95 printable (from a total of 128) characters defined by the ASCII Standard from 1963.