Consente di definire una matrice di 9s come:
Consente di definire un numero che esplode come un numero in posizione che può essere scomposto in interi uguali tra tutti i suoi vicini adiacenti (incluso se stesso) e il valore assoluto di ogni porzione è maggiore di 0.
Dalla matrice precedente, facciamo esplodere il numero in posizione (0 indicizzato)
A volte, il risultato della decomposizione in un numero razionale maggiore di 1. Questo è qualcosa che dobbiamo evitare quando esplodiamo numeri. In questo caso il resto verrà assegnato al numero esploso.
Per dimostrarlo, continuiamo a lavorare con la nostra matrice precedente. Questa volta esploderemo il numero in posizione
Qui abbiamo 3 vicini e il numero stesso. Ecco l'equazione è qualcosa come che ci danno 2 per ciascuno e 2 come resto.
Inoltre, a volte un numero non sarà abbastanza grande da essere scomposto in parti uguali (dove gli addominali sono maggiori di 0) tra i suoi vicini (| numero razionale | <1). In questi casi è necessario "prendere in prestito" dal numero esploso per mantenere la condizione "maggiore di 0" . Continuiamo con il nostro esempio precedente ed esplodiamo il numero in posizione .
La sfida è, dato un elenco di posizioni e un array finito di numeri naturali non vuoto, restituire la forma esplosa dopo che ogni numero dall'elenco delle posizioni è stato esploso.
Casi test
Ingresso: initial matrix: [[3, 3, 3], [3, 3, 3], [3, 3, 3]], numbers: [[0,0],[0,1],[0,2]]
Produzione: [[1, 0, 1], [5, 6, 5], [3, 3, 3]]
Ingresso: Initial matrix: [[9, 8, 7], [8, 9, 7], [8, 7, 9]], numbers: [[0,0],[1,1],[2,2]]
Produzione: [[4, 11, 8],[11, 5, 10],[9, 10, 4]]
Ingresso: Initial matrix: [[0, 0], [0, 0]], numbers: [[0,0],[0,0],[0,0]]
Produzione: [[-9, 3],[3, 3]]
Ingresso: Initial Matrix: [[10, 20, 30],[30, 20, 10],[40, 50, 60]], numbers: [[0,2],[2,0],[1,1],[1,0]]
Produzione: [[21, 38, 13], [9, 12, 21], [21, 71, 64]]
Ingresso: Initial Matrix: [[1]], numbers: [[0,0]]
Produzione: [[1]]
Ingresso: Initial Matrix: [[1, 2, 3]], numbers: [[0,0], [0, 1]]
Produzione: [[1, 1, 4]]
Gli appunti
Si applicano le regole di input / output
Puoi presumere che la matrice di input non sarà mai vuota
Puoi presumere che le coordinate siano sempre valide
Il coord in input nei casi di test è indicato come (riga, colonna). Se è necessario che sia (x, y) è possibile scambiare i valori. In tal caso, si prega di dichiararlo nella risposta