[问题] 将零矩阵转为特定矩阵

楼主: 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