Tâche
Étant donné un diagramme ASCII d'une boucle
par exemple
....................
......@@@@@.........
......@...@.........
.....@@...@@@@@.....
....@@........@.....
....@........@@.....
....@@@@@@@@@@......
....................
....................
Et un emplacement sur la boucle
par exemple
(7,1)
Vous devez trouver l'intérieur et l'extérieur de la boucle
par exemple
00000000000000000000
00000011111000000000
00000011111000000000
00000111111111100000
00001111111111100000
00001111111111100000
00001111111111000000
00000000000000000000
00000000000000000000
Caractéristiques
Vous pouvez prendre l'entrée pour le diagramme comme une chaîne séparée par des sauts de ligne ou un équivalent évident
Vous recevrez une coordonnée sur la boucle (0 ou 1 indexée) dans le cadre de votre entrée. Vous pouvez placer votre origine à n'importe quel endroit de votre choix. Vous pouvez prendre cette coordonnée dans
(<row>, <column>)
,(<column>, <row>)
ou la position linéaire sur la chaîne. Vous pouvez recevoir ces données par toute méthode raisonnable. Tous les caractères de la boucle seront identiques à ceux de cet index.La sortie préférée est un tableau bidimensionnel de valeurs véridiques et fausses, cependant les chaînes de
1
et0
séparées par des sauts de ligne ou tout équivalent évident des deux dernières sont acceptées. L'intérieur et l'extérieur doivent avoir des valeurs de vérité différentes mais peu importe qui est lequel.Une boucle est définie comme un groupe de caractères tels qu'ils sont tous le même caractère ( par exemple
@
) et de sorte que chaque caractère de la boucle ait un chemin vers le caractère d'origine (le caractère à la coordonnée d'entrée) qui ne passe que par ce même caractère (géométrie Taxicab sans diagonales ).L'intérieur est toute la boucle elle-même et les endroits qui ne peuvent pas atteindre le bord du diagramme sans traverser la boucle.
L'extérieur est partout ailleurs
C'est du code-golf
Cas de test
[['.', '.'],['.', '@']]
au lieu d'une chaîne avec des sauts de ligne?