9'lu bir matris tanımlayalım:
Haydi, patlayan bir sayıyı pozisyonundaki bir sayı olarak tanımlayalım , tüm komşu komşuları (kendisi de dahil olmak üzere) arasında eşit tam sayılara ayrıştırılabilir ve her bir kısmın mutlak değeri 0'dan büyüktür.
Önceki matriste göre, numarayı (indekslenmiş) pozisyonda patlatalım
Bazen, ayrıştırma işlemi 1'den büyük rasyonel bir sayıya yol açar. Bu, sayıları patlatırken kaçınmamız gereken bir şeydir. Bu durumda, kalanlar patlamış numaraya atanacaktır.
Bunu göstermek için önceki matrisimizle çalışmaya devam edelim. Bu kez pozisyondaki sayıyı patlatacağız
Burada 3 komşumuz ve sayımız var. Burada denklemi gibi bir şeydir bize vermek 2 her biri için ve 2 bakiye olarak.
Ayrıca, bazen bir sayı komşuları (| rasyonel sayı | <1) arasında eşit kısımlarda (abs'in 0'dan büyük olduğu) ayrışacak kadar büyük olmayacaktır. Bu durumlarda , "0'dan büyük" durumu korumak için patlatılmış numaradan "ödünç almamız " gerekir . Önceki örneğimize devam edelim ve sayıyı ( 1 , 1 ) pozisyonunda patlatalım .
Zorluk , konumlarının bir listesi ve sonlu boş olmayan bir doğal sayı dizisi verildiğinde, konum listesindeki her sayı patlatıldıktan sonra patlatılmış formu döndürür.
Test durumları
Giriş: initial matrix: [[3, 3, 3], [3, 3, 3], [3, 3, 3]], numbers: [[0,0],[0,1],[0,2]]
Çıktı: [[1, 0, 1], [5, 6, 5], [3, 3, 3]]
Giriş: Initial matrix: [[9, 8, 7], [8, 9, 7], [8, 7, 9]], numbers: [[0,0],[1,1],[2,2]]
Çıktı: [[4, 11, 8],[11, 5, 10],[9, 10, 4]]
Giriş: Initial matrix: [[0, 0], [0, 0]], numbers: [[0,0],[0,0],[0,0]]
Çıktı: [[-9, 3],[3, 3]]
Giriş: Initial Matrix: [[10, 20, 30],[30, 20, 10],[40, 50, 60]], numbers: [[0,2],[2,0],[1,1],[1,0]]
Çıktı: [[21, 38, 13], [9, 12, 21], [21, 71, 64]]
Giriş: Initial Matrix: [[1]], numbers: [[0,0]]
Çıktı: [[1]]
Giriş: Initial Matrix: [[1, 2, 3]], numbers: [[0,0], [0, 1]]
Çıktı: [[1, 1, 4]]
notlar
Giriş / Çıkış kuralları geçerlidir
Giriş matrisinin asla boş olmayacağını varsayabilirsiniz.
Koordinatların her zaman geçerli olacağını varsayabilirsin
Test durumlarında girdi koordinatı (satır, sütun) şeklinde verilmiştir. Olması gerekiyorsa (x, y) değerleri değiştirebilirsiniz. Eğer öyleyse, lütfen cevabınızı belirtiniz