Dato un array rettangolare non vuoto di numeri interi da 0
a 9
, genera la quantità di celle che sono 8
e non hanno un vicino che è 8
. Il vicinato è qui inteso nel senso di Moore , cioè comprese le diagonali. Quindi ogni cella ha dei 8
vicini, ad eccezione delle celle ai bordi dell'array.
Ad esempio, dato l'input
8 4 5 6 5
9 3 8 4 8
0 8 6 1 5
6 7 9 8 2
8 8 7 4 2
l'output dovrebbe essere 3
. Le tre celle qualificanti sarebbero le seguenti, contrassegnate da un asterisco (ma dovrebbe essere emesso solo il numero di tali voci):
* 4 5 6 5
9 3 8 4 *
0 8 6 1 5
6 7 9 * 2
8 8 7 4 2
Regole aggiuntive
Puoi facoltativamente prendere due numeri che definiscono la dimensione dell'array come input aggiuntivi.
L'input può essere preso con qualsiasi mezzo ragionevole . Il formato è flessibile come al solito. Ad esempio, può essere una matrice di caratteri 2D o un elenco di elenchi di numeri o un elenco semplice.
Programmi o funzioni sono consentiti, in qualsiasi linguaggio di programmazione . Sono vietate le scappatoie standard .
Vince il codice più breve in byte.
Casi test
Ingresso:
8 4 5 6 5 9 3 8 4 8 0 8 6 1 5 6 7 9 8 2 8 8 7 4 2
Produzione:
3
Ingresso
8 8 2 3
Produzione:
0
Ingresso:
5 3 4 2 5 2
Produzione:
0
Ingresso:
5 8 3 8
Produzione:
2
Ingresso:
8 0 8
Uscita:
2
.Ingresso:
4 2 8 5 2 6 1 8 8 5 5 8
Produzione:
1
Ingresso:
4 5 4 3 8 1 8 2 8 2 7 7 8 3 9 3 9 8 7 8 5 4 2 8 4 5 0 2 1 8 6 9 1 5 4 3 4 5 6 1
Uscita
3
.Ingresso:
8
Produzione:
1
Ingresso:
8 5 8 1 6 8 7 7 9 9 2 8 2 7 8 3 2 8 4 9 7 3 2 7 9 2 9 7 1 9 5 6 6 9 8 7 3 1 5 2 1 9 9 7 1 8 8 2 3 5 6 8 1 4 7 5
Uscita:
4
.Ingresso:
8 1 8 2 5 7 8 0 1
Uscita:
3
.
Ingressi in formato MATLAB:
[8 4 5 6 5; 9 3 8 4 8; 0 8 6 1 5; 6 7 9 8 2; 8 8 7 4 2]
[8 8; 2 3]
[5 3 4; 2 5 2]
[5 8 3 8]
[8; 0; 8]
[4 2 8 5; 2 6 1 8; 8 5 5 8]
[4 5 4 3 8 1 8 2; 8 2 7 7 8 3 9 3; 9 8 7 8 5 4 2 8; 4 5 0 2 1 8 6 9; 1 5 4 3 4 5 6 1]
[8]
[8 5 8 1 6 8 7 7; 9 9 2 8 2 7 8 3; 2 8 4 9 7 3 2 7; 9 2 9 7 1 9 5 6; 6 9 8 7 3 1 5 2; 1 9 9 7 1 8 8 2; 3 5 6 8 1 4 7 5]
[8 1 8; 2 5 7; 8 0 1]
Ingressi in formato Python:
[[8, 4, 5, 6, 5], [9, 3, 8, 4, 8], [0, 8, 6, 1, 5], [6, 7, 9, 8, 2], [8, 8, 7, 4, 2]]
[[8, 8], [2, 3]]
[[5, 3, 4], [2, 5, 2]]
[[5, 8, 3, 8]]
[[8], [0], [8]]
[[4, 2, 8, 5], [2, 6, 1, 8], [8, 5, 5, 8]]
[[4, 5, 4, 3, 8, 1, 8, 2], [8, 2, 7, 7, 8, 3, 9, 3], [9, 8, 7, 8, 5, 4, 2, 8], [4, 5, 0, 2, 1, 8, 6, 9], [1, 5, 4, 3, 4, 5, 6, 1]]
[[8]]
[[8, 5, 8, 1, 6, 8, 7, 7], [9, 9, 2, 8, 2, 7, 8, 3], [2, 8, 4, 9, 7, 3, 2, 7], [9, 2, 9, 7, 1, 9, 5, 6], [6, 9, 8, 7, 3, 1, 5, 2], [1, 9, 9, 7, 1, 8, 8, 2], [3, 5, 6, 8, 1, 4, 7, 5]]
[[8, 1, 8], [2, 5, 7], [8, 0, 1]]
Uscite:
3, 0, 0, 2, 2, 1, 3, 1, 4, 3