#P930. 池塘
池塘
題目描述
你是一个建筑玩家,你想在你家前面的一片平地上建一个池塘
你想把池塘建在一个 m × n 的平地上,你简单挖了池塘大概的形状,你现在唯一要做的就是添水进去
每一次操作,你可以在 (x,y) 处放置一个水源,你不能在你没挖过的地方放置水源
这款游戏有一个特性(不是 bug ):在所有和空地 (x,y) 曼哈顿距离为 1 的位置有一个以上的水源,那 (x,y) 会变为水源
你现在想知道你至少需要多少次操作,才能填满池塘
(注:(a,b) 和 (c,d) 之间的曼哈顿距离为 |a-c|+|b-d|)
輸入格式
输入共 n+1 行
第一行为两个整数,分别为 m 和 n 的值
接下来有 n 行,每行共有 m 个值,表示你挖过的池塘形状,挖过的地方用 0 表示,没挖过的地方用 1 表示。
輸出格式
输出应有一行
第一行应有一个整数,为填满池塘的最少操作数
Samples
["3 3\r\n1 1 1\r\n1 0 1\r\n1 1 1","4 4\r\n1 1 1 1\r\n1 0 0 1\r\n1 1 0 1\r\n1 1 1 1","5 5\r\n1 1 1 1 1\r\n1 0 0 0 1\r\n1 0 1 0 1\r\n1 0 0 0 1\r\n1 1 1 1 1"]
["1","2","4"]
原始資料
- Zero1 題號:
a930 - Hydro 題號:
Z0930 - Locale:
zh_CN - Display:
deprecated