9の行列を次のように定義してみましょう:
爆発する数を位置数として定義します。これは、すべての隣接する隣人(それ自体を含む)の間で等しい整数に分解でき、各部分の絶対値は0より大きいです。
前マトリックスから、位置番号を爆発することができます(0インデックス付き)
場合によっては、結果を1より大きい有理数に分解します。これは、数値を爆発させるときに避ける必要があるものです。この場合、残りは展開された番号に割り当てられます。
それを実証するために、以前のマトリックスで作業を続けましょう。我々は位置の数を爆発する。この時間
ここには、3つのネイバーと番号自体があります。ここで式のようなものである私たちに与える2をそれぞれのための2余りなど。
同様に、隣人の間で等しい部分(absが0より大きい場合)に分解されるほど大きくない場合もあります(|有理数| <1)。この場合、「0より大きい」状態を維持するために、展開された数値から「借用」する必要があります。前の例を続けると位置番号を爆発することができます(1 、1 )。
課題は、位置のリストと自然数の有限の空でない配列が与えられ、位置リストの各数値が展開された後に展開された形式を返すことです。
テストケース
入力: 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)にする必要がある場合は、値を交換できます。もしそうなら、あなたの答えにそれを述べてください