Zdefiniujmy macierz 9s jako:
Zdefiniujmy liczbę wybuchającą jako liczbę w pozycji którą można rozłożyć na równe liczby całkowite między wszystkimi sąsiadującymi z nią sąsiadami (w tym sobą), a wartość bezwzględna każdej części jest większa niż 0.
Z poprzedniej macierzy rozbijmy liczbę na pozycji (indeksowane 0)
N = \ begin { bmatrix} 9+ \ kolor {czerwony} 1 i 9 + \ kolor {czerwony} 1 i 9 + \ kolor {czerwony} 1 \\ 9+ \ kolor {czerwony} 1 i \ kolor {niebieski} 0+ \ kolor {czerwony} 1 i 9 + \ kolor {czerwony} 1 \\ 9+ \ color {red} 1 i 9 + \ color {red} 1 & 9 + \ color {red} 1 \ end {bmatrix}
Czasami rozkładanie wyniku na liczbę wymierną większą niż 1. Jest to coś, czego musimy unikać przy eksplodowaniu liczb. W takich przypadkach pozostała część zostanie przypisana do numeru rozstrzelonego.
Aby to zademonstrować, kontynuujmy pracę z naszą poprzednią matrycą. Tym razem wybuchniemy liczbą na pozycji
Tutaj mamy 3 sąsiadów i samą liczbę. Tutaj równanie jest czymś w rodzaju co daje nam 2 dla każdego i 2 jako resztę.
Również czasami liczba nie będzie wystarczająco duża, aby mogła zostać rozłożona na równe części (gdzie abs jest większa niż 0) między jego sąsiadami (| liczba wymierna | <1). W takich przypadkach musimy „pożyczyć” od numeru rozstrzelonego, aby utrzymać warunek „większy niż 0” . Kontynuujmy z naszym poprzednim przykładem i rozbijmy liczbę na pozycji .
Wyzwanie polega na tym, że biorąc pod uwagę listę pozycji i skończoną niepustą tablicę liczb naturalnych, zwraca postać rozstrzeloną po rozbiciu każdej liczby z listy pozycji.
Przypadki testowe
Wkład: initial matrix: [[3, 3, 3], [3, 3, 3], [3, 3, 3]], numbers: [[0,0],[0,1],[0,2]]
Wydajność: [[1, 0, 1], [5, 6, 5], [3, 3, 3]]
Wkład: Initial matrix: [[9, 8, 7], [8, 9, 7], [8, 7, 9]], numbers: [[0,0],[1,1],[2,2]]
Wydajność: [[4, 11, 8],[11, 5, 10],[9, 10, 4]]
Wkład: Initial matrix: [[0, 0], [0, 0]], numbers: [[0,0],[0,0],[0,0]]
Wydajność: [[-9, 3],[3, 3]]
Wkład: Initial Matrix: [[10, 20, 30],[30, 20, 10],[40, 50, 60]], numbers: [[0,2],[2,0],[1,1],[1,0]]
Wydajność: [[21, 38, 13], [9, 12, 21], [21, 71, 64]]
Wkład: Initial Matrix: [[1]], numbers: [[0,0]]
Wydajność: [[1]]
Wkład: Initial Matrix: [[1, 2, 3]], numbers: [[0,0], [0, 1]]
Wydajność: [[1, 1, 4]]
Notatki
Zasady wejścia / wyjścia zastosowanie
Możesz założyć, że matryca wejściowa nigdy nie będzie pusta
Możesz założyć, że współrzędne zawsze będą poprawne
Współrzędna wejściowa w przypadkach testowych jest podawana jako (wiersz, kolumna). Jeśli potrzebujesz, aby to było (x, y), możesz zamienić wartości. Jeśli tak, proszę to zaznaczyć w swojej odpowiedzi