Descripción del desafío
Llamemos a una matriz rectangular de dos dimensiones (lo que significa que cada subcadena tiene la misma longitud), una cuadrícula . Cada unidad de una cuadrícula es un espacio vacío o un borde . En una cuadrícula de caracteres, el espacio vacío está representado por un solo espacio en blanco; cualquier otro personaje se trata como un borde. Cuadrículas de muestra ( +
's, |
' sy -
's añadidas para facilitar la lectura; no son parte de la cuadrícula ):
+----+
| |
| |
| |
| |
| |
+----+ an empty 4x5 grid
+------+
| |
| # |
| # |
+------+ a 6x3 grid with 2 borders
+----------+
| |
| |
| ##### |
| # # |
| ## # <------ enclosed area
| # # |
| ###### |
| |
+----------+ a 10x8 grid with an enclosed area
Dada una cuadrícula 2D y un par de coordenadas, rellena el área cerrada que rodea el punto representado por las coordenadas.
Muestra de entradas / salidas
1)
0 0
+----------+ +----------+
| | |XXXXXXXXXX|
| | -> |XXXXXXXXXX|
| | |XXXXXXXXXX|
+----------+ +----------+
2)
6 5
+-----------------+ +-----------------+
| | | |
| | | |
| ######## | | ######## |
| # # | | #XXXXXXX# |
| # #### | | #XXXX#### |
| # # | | #XXXX# |
| # # | -> | #XXXX# |
| # # | | #XXXX# |
| #### | | #### |
| | | |
| | | |
+-----------------+ +-----------------+
3)
4 6
+-----------------+ +-----------------+
| | |XXXXXXXXXXXXXXXXX|
| #### | |XXXX####XXXXXXXXX|
| # # | -> |XXX# #XXXXXXXX|
| #### | |XXXX####XXXXXXXXX|
| | |XXXXXXXXXXXXXXXXX|
+-----------------+ +-----------------+
4)
4 5
+-----------------+ +-----------------+ +-----------------+
| | | | | |
| | | | | |
| #### | | #### | | XXXX |
| #### | -> | #### | or | XXXX |
| #### | | #### | | XXXX |
| | | | | |
+-----------------+ +-----------------+ +-----------------+
5)
2 6
+----------------+ +----------------+
| | |XXXXXXXXXXXXXXXX|
| | |XXXXXXXXXXXXXXXX|
| | |XXXXXXXXXXXXXXXX|
| | -> |XXXXXXXXXXXXXXXX|
| | |XXXXXXXXXXXXXXXX|
|BBBBBBBBBBBBBBBB| |BBBBBBBBBBBBBBBB|
| | | |
| | | |
+----------------+ +----------------+
Notas
Una cuadrícula vacía se considera cerrada, es decir, los bordes también están implícitamente ubicados a lo largo de los bordes de la cuadrícula (ver ejemplos 1. y 5.),
Una esquina de un área cerrada no necesita tener forma de L. Por lo tanto, las dos áreas siguientes son equivalentes:
#### ##
# # # #
# # == # #
# # # #
#### ##
Si una unidad debajo de las coordenadas resulta ser un borde, puede dejar la cuadrícula sin cambios (como en el ejemplo 4) o tratarla como un espacio vacío,
Puede elegir cualquier carácter para relleno / espacio vacío siempre que incluya esta información en el envío,
Si usa un tipo diferente a
char
sus propósitos, puede usarloints
(0
para el espacio vacío,1
para el borde) obooleans
(true
yfalse
respectivamente) o cualquier otro tipo, solo asegúrese de incluir esta información en su envío,Las coordenadas utilizadas en los ejemplos anteriores son
(row, column)
coordenadas indexadas en 0 , ya que es más conveniente para una matriz bidimensional. Si desea utilizar(column, row)
el sistema (cartesiano) y / o coordenadas sin índice 0, especifíquelo en su envío.Si no sabe por dónde empezar, consulte el artículo de Wikipedia sobre inundación
Recuerde que este es un desafío de código de golf , ¡así que haga su código lo más corto posible!