Description du défi
Appelons un tableau rectangulaire à deux dimensions (ce qui signifie que chaque sous-tableau a la même longueur), une grille . Chaque unité d'une grille est soit un espace vide, soit une bordure . Dans une grille de caractères, l'espace vide est représenté par un seul espace blanc; tout autre caractère est traité comme une bordure. Exemples de grilles ( +
', |
' et -
'ajoutés pour plus de lisibilité - ils ne font pas partie de la grille ):
+----+
| |
| |
| |
| |
| |
+----+ an empty 4x5 grid
+------+
| |
| # |
| # |
+------+ a 6x3 grid with 2 borders
+----------+
| |
| |
| ##### |
| # # |
| ## # <------ enclosed area
| # # |
| ###### |
| |
+----------+ a 10x8 grid with an enclosed area
Étant donné une grille 2D et une paire de coordonnées, remplissez la zone fermée entourant le point représenté par les coordonnées.
Exemples d'entrées / sorties
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|
| | | |
| | | |
+----------------+ +----------------+
Remarques
Une grille vide est considérée comme fermée, c'est-à-dire que les bordures sont également implicitement situées le long des bords de la grille (voir les exemples 1. et 5.),
Un coin d'un espace clos n'a pas besoin d'être en forme de L. Les deux domaines suivants sont donc équivalents:
#### ##
# # # #
# # == # #
# # # #
#### ##
Si une unité sous les coordonnées se trouve être une bordure, vous pouvez soit laisser la grille inchangée (comme dans l'exemple 4.), soit la traiter comme un espace vide,
Vous pouvez choisir n'importe quel caractère pour remplir / espace vide tant que vous incluez ces informations dans la soumission,
Si vous utilisez un type autre que celui
char
qui vous convient mieux, vous pouvez utiliserints
(0
pour un espace vide,1
pour une bordure) oubooleans
(true
etfalse
respectivement) ou tout autre type - assurez-vous simplement d'inclure ces informations dans votre soumission,Les coordonnées utilisées dans les exemples ci-dessus sont des
(row, column)
coordonnées indexées 0 , car c'est plus pratique pour un tableau à deux dimensions. Si vous souhaitez utiliser un système(column, row)
(cartésien) et / ou des coordonnées non indexées 0, spécifiez-le dans votre soumission.Si vous ne savez pas par où commencer, consultez l'article Wikipedia sur le remplissage des inondations
N'oubliez pas qu'il s'agit d'un défi de code-golf , alors faites votre code aussi court que possible!