9S 등의 매트릭스 정의 할 수 :
폭발하는 숫자를 위치 에서 인접한 모든 이웃 (자체 포함) 사이에서 동일한 정수로 분해 할 수 있고 각 부분의 절대 값이 0보다 큰 숫자로 정의 할 수 있습니다.
이전의 행렬에서의 위치에 번호를 분해 수 (인덱스 0)
때로는 결과를 1보다 큰 합리적인 숫자로 분해하는 경우가 있습니다. 이는 숫자를 폭발시킬 때 피해야하는 것입니다. 이 경우 나머지는 분해 된 번호에 할당됩니다.
이를 입증하기 위해 이전 매트릭스를 계속 사용하십시오. 이번에는 위치 ( 0 , 0 ) 에서 숫자를 분해합니다.
여기에는 3 개의 neightbor와 숫자 자체가 있습니다. 여기 방정식은 같은 것입니다 우리에게주는 2 각과 (2)를 나머지로는.
또한, 때때로 그의 이웃들 사이의 동일한 부분들 (abs가 0보다 큰 곳)에서 분해되기에 충분히 크지 않을 것이다 (이론 수 | <1). 이 경우 "0보다 큰" 조건 을 유지하려면 분해 된 숫자에서 "빌려 "야 합니다. 이전 예제를 계속 진행하고 위치 에서 숫자를 분해합니다 .
테스트 사례
입력: initial matrix: [[3, 3, 3], [3, 3, 3], [3, 3, 3]], numbers: [[0,0],[0,1],[0,2]]
산출: [[1, 0, 1], [5, 6, 5], [3, 3, 3]]
입력: Initial matrix: [[9, 8, 7], [8, 9, 7], [8, 7, 9]], numbers: [[0,0],[1,1],[2,2]]
산출: [[4, 11, 8],[11, 5, 10],[9, 10, 4]]
입력: Initial matrix: [[0, 0], [0, 0]], numbers: [[0,0],[0,0],[0,0]]
산출: [[-9, 3],[3, 3]]
입력: Initial Matrix: [[10, 20, 30],[30, 20, 10],[40, 50, 60]], numbers: [[0,2],[2,0],[1,1],[1,0]]
산출: [[21, 38, 13], [9, 12, 21], [21, 71, 64]]
입력: Initial Matrix: [[1]], numbers: [[0,0]]
산출: [[1]]
입력: Initial Matrix: [[1, 2, 3]], numbers: [[0,0], [0, 1]]
산출: [[1, 1, 4]]
노트
입 / 출력 규칙 적용
입력 행렬이 절대 비어 있지 않을 것이라고 가정 할 수 있습니다.
좌표가 항상 유효하다고 가정 할 수 있습니다
테스트 사례의 입력 좌표는 (행, 열)로 제공됩니다. (x, y) 여야하는 경우 값을 바꿀 수 있습니다. 그렇다면 귀하의 답변에