Sfida
Data una matrice di numeri interi positivi, determinare se ci sono "anelli" di montagne. La definizione formale per questa sfida è: data una matrice di numeri interi positivi, esiste un numero intero positivo nper il quale nella matrice vi è un anello chiuso di cellule che è strettamente maggiore di ntale che tutte le celle racchiuse nell'anello siano inferiori o uguali a n.
Facciamo un esempio veritiero:
3 4 5 3
3 1 2 3
4 2 1 3
4 3 6 5
Se impostiamo nsu 2:
1 1 1 1
1 0 0 1
1 0 0 1
1 1 1 1
Come possiamo vedere chiaramente, le 1s lungo il bordo formano un anello.
Definiamo un anello come una raccolta ordinata di celle in cui anche le celle adiacenti nella raccolta sono adiacenti (bordo o angolo) sulla griglia. Inoltre, l'anello deve contenere almeno 1 cella al suo interno; vale a dire, tentare di riempire solo BFS di bordi inondando l'intera matrice escludendo le celle nella raccolta e non attraversare mai una cella della raccolta deve perdere almeno una cella.
Test Verità
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
Casi di prova falsi
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
Regole
- Si applicano scappatoie standard
- Questo è code-golf , quindi la risposta più breve in byte in ogni lingua è dichiarata vincitrice della sua lingua. Nessuna risposta sarà accettata
- L'input può essere assunto come qualsiasi forma ragionevole per una matrice di numeri interi positivi
- L'output può essere fornito come due valori ragionevoli, coerenti e distinti che indicano [vero] o [falso].
nrealtà il terzo caso di test "verità" è verità? [1,2] ?