Aufgabe
Gegeben ein ASCII-Diagramm einer Schleife
z.B
....................
......@@@@@.........
......@...@.........
.....@@...@@@@@.....
....@@........@.....
....@........@@.....
....@@@@@@@@@@......
....................
....................
Und ein Ort auf der Schleife
z.B
(7,1)
Sie müssen das Innere und Äußere der Schleife finden
z.B
00000000000000000000
00000011111000000000
00000011111000000000
00000111111111100000
00001111111111100000
00001111111111100000
00001111111111000000
00000000000000000000
00000000000000000000
Spezifikationen
Sie können Eingaben für das Diagramm als durch Zeilenumbrüche oder offensichtliche Entsprechungen getrennte Zeichenfolge vornehmen
Sie erhalten eine Koordinate in der Schleife (0 oder 1 indiziert) als Teil Ihrer Eingabe. Sie können Ihren Ursprung an einem beliebigen Ort platzieren. Sie können nehmen diese Koordinate in
(<row>, <column>)
,(<column>, <row>)
oder als die lineare Position auf der Saite. Sie können diese Daten auf jede angemessene Weise erhalten. Alle Zeichen in der Schleife stimmen mit dem Zeichen an diesem Index überein.Bevorzugte Ausgabe ist eine zweidimensionale Anordnung von Wahrheits- und Falschwerten, jedoch werden Zeichenfolgen von
1
und0
getrennt durch Zeilenumbrüche oder ein offensichtliches Äquivalent der beiden letzteren akzeptiert. Das Innere und das Äußere müssen unterschiedliche Wahrheitswerte haben, aber es spielt keine Rolle, welches welches ist.Eine Schleife wird als eine Gruppe von Zeichen definiert, sodass alle Zeichen dasselbe Zeichen sind ( z. B.
@
) und dass jedes Zeichen in der Schleife einen Pfad zum ursprünglichen Zeichen (das Zeichen an der Eingabekoordinate) hat, das nur dasselbe durchläuft Zeichen (Taxigeometrie Keine Diagonalen ).Das Innere ist die gesamte Schleife selbst und die Stellen, die den Rand des Diagramms nicht erreichen können, ohne die Schleife zu überqueren.
Das Äußere ist überall anders
Das ist Code-Golf
Testfälle
[['.', '.'],['.', '@']]
anstelle einer Zeichenfolge mit Zeilenumbrüchen?