Herausforderung
Bestimmen Sie anhand einer Matrix positiver Ganzzahlen, ob es "Ringe" von Bergen gibt. Die formale Definition für diese Herausforderung lautet: Wenn eine Matrix aus positiven ganzen Zahlen gegeben ist, gibt es eine positive ganze Zahl, n
für die es einen geschlossenen Ring von Zellen in der Matrix gibt, der streng größer ist als n
derjenige, bei dem alle im Ring eingeschlossenen Zellen kleiner oder gleich sind zu n
.
Nehmen wir ein wahres Beispiel:
3 4 5 3
3 1 2 3
4 2 1 3
4 3 6 5
Wenn wir setzen n
auf 2
:
1 1 1 1
1 0 0 1
1 0 0 1
1 1 1 1
Wie wir deutlich sehen können, bilden die 1
s entlang der Kante einen Ring.
Wir definieren einen Ring als eine geordnete Ansammlung von Zellen, wobei benachbarte Zellen in der Ansammlung ebenfalls benachbart sind (Kante oder Ecke). Darüber hinaus muss der Ring mindestens eine Zelle enthalten. Das heißt, der Versuch, die gesamte Matrix mit Ausnahme der Zellen in der Auflistung mit BFS-Flood-Flood zu füllen und niemals eine Zelle in der Auflistung zu durchlaufen, muss mindestens eine Zelle verfehlen.
Wahrheitstestfälle
4 7 6 5 8 -> 1 1 1 1 1
6 2 3 1 5 -> 1 0 0 0 1 (n = 3)
6 3 2 1 5 -> 1 0 0 0 1
7 5 7 8 6 -> 1 1 1 1 1
1 3 2 3 2
1 6 5 7 2
1 7 3 7 4
1 6 8 4 6
1 3 1
3 1 3
1 3 1
7 5 8 7 5 7 8 -> if you have n = 4, you get an interesting ridge shape around the top and right of the grid
8 4 4 2 4 2 7
6 1 8 8 7 2 7
5 4 7 2 5 3 5
5 6 5 1 6 4 5
3 2 3 2 7 4 8
4 4 6 7 7 2 5
3 2 8 2 2 2 8
2 4 8 8 6 8 8
5 7 6 8 6 8 7 -> there is an island in the outer ring (n = 4), but the island is a ring
5 3 2 4 2 4 7
6 3 7 8 5 1 5
8 2 5 2 8 2 7
8 3 8 8 8 4 7
6 1 4 1 1 2 8
5 5 5 5 7 8 7
150 170 150
170 160 170
150 170 150
Falsche Testfälle
1 2 3 2 1 -> this is just a single mountain if you picture it graphcially
2 3 4 3 2
3 4 5 4 3
2 3 4 3 2
1 2 3 2 1
4 5 4 3 2 -> this is an off-centered mountain
5 6 5 4 3
4 5 4 3 2
3 4 3 2 1
1 1 1 1 1 -> this is four mountains, but they don't join together to form a ring
1 2 1 2 1
1 1 1 1 1
1 2 1 2 1
1 1 1 1 1
3 3 3 3 3 -> there is a ring formed by the `3`s, but the `4` in the middle is taller so it doesn't qualify as a mountain ring
3 1 1 1 3
3 1 4 1 3
3 1 1 1 3
3 3 3 3 3
3 4 4 4 3
4 4 3 4 4
3 3 3 3 4
4 4 3 4 4
3 4 4 4 3
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
22 23 24 25 26
Regeln
- Es gelten Standardlücken
- Dies ist Codegolf , daher wird die kürzeste Antwort in Bytes in jeder Sprache zum Gewinner ihrer Sprache erklärt. Es werden keine Antworten akzeptiert.
- Die Eingabe kann als jede vernünftige Form für eine Matrix positiver Ganzzahlen angesehen werden
- Die Ausgabe kann als zwei sinnvolle, konsistente, unterschiedliche Werte angegeben werden, die [wahr] oder [falsch] angeben.
n
ist der dritte "wahrheitsgemäße" Testfall eigentlich wahrheitsgemäß? [1,2] ?