[問題] 將零矩陣轉為特定矩陣

作者: obelisk0114 (追風箏的孩子)   2020-07-27 08:11:23
給定一個 M x N 的零矩陣 (內部元素全為 0), 和一個函數 fn
fn(m1, m2, n1, n2, k) 是將這個矩陣的 submatrix :
m1 <= i <= m2, n1 <= j <= n2 的元素全部轉為 k
需要呼叫最少幾次這個函數, 才能將這個零矩陣轉為 M x N 的目標矩陣 ?
第一個想法是用 BFS, 但是下一層不知道怎麼定義 ?
若是從最外圍開始, 下面這個例子會有問題
1 2 2 2 2 1
2 2 2 2 2 2
2 2 2 2 2 2
1 2 2 2 2 1 需要呼叫 5 次, 先全部改 2, 再改 4 個頂點
作者: LPH66 (-6.2598534e+18f)   2020-07-27 14:55:00
你這個例子是 3 次吧, 全 1, 去上下改 2, 去左右改 2
作者: obelisk0114 (追風箏的孩子)   2020-07-29 11:48:00
看起來應該可以只用 3 次
作者: expiate (夜露死苦)   2020-08-06 16:07:00
我也是三次

Links booklink

Contact Us: admin [ a t ] ucptt.com