Tarefa
Dado um diagrama ASCII de um loop
por exemplo
....................
......@@@@@.........
......@...@.........
.....@@...@@@@@.....
....@@........@.....
....@........@@.....
....@@@@@@@@@@......
....................
....................
E um local no loop
por exemplo
(7,1)
Você deve encontrar o interior e o exterior do loop
por exemplo
00000000000000000000
00000011111000000000
00000011111000000000
00000111111111100000
00001111111111100000
00001111111111100000
00001111111111000000
00000000000000000000
00000000000000000000
Especificações
Você pode receber entradas para o diagrama como uma sequência separada por novas linhas ou equivalente óbvio
Você receberá uma coordenada no loop (0 ou 1 indexado) como parte de sua entrada. Você pode colocar sua origem em qualquer lugar que desejar. Você pode levar essa coordenada
(<row>, <column>)
,(<column>, <row>)
ou como a posição linear na corda. Você pode receber esses dados de qualquer maneira razoável. Todos os caracteres no loop serão iguais aos caracteres nesse índice.A saída preferida é uma matriz bidimensional de valores de verdade e falsidade, no entanto, cadeias de caracteres
1
e0
separadas por novas linhas ou qualquer equivalente óbvio das duas últimas são aceitas. O interior e o exterior devem ter valores de verdade diferentes, mas não importa qual é qual.Um loop é definido como um grupo de caracteres, de modo que todos tenham o mesmo caractere ( por exemplo
@
) e, para que cada caractere no loop tenha um caminho para o caractere original (o caractere na coordenada de entrada) que passa apenas pelo mesmo caractere (geometria do táxi, sem diagonais ).O interior é todo o loop em si e os lugares que não podem alcançar a borda do diagrama sem cruzar o loop.
O exterior está em qualquer outro lugar
Isso é código-golfe
Casos de teste
[['.', '.'],['.', '@']]
vez de uma string com novas linhas?