在競賽圈有個潛規則,你如果想要變強,你就要去吃碗拉麵,而且你吃的拉麵越好吃,你就會變得越強。
在天龍國裡,有許多家麵店,而你手上有一張 $(n \times m)$ 的拉麵店地圖。
其中第 $i$ 行第 $j$ 列的個子就是 $w_{i,j}$
當 $w_{i,j} > 0$ 時,代表在 $(i,j)$ 上有一間美味程度為 $w_{i,j}$ 的拉麵店。
當 $w_{i,j} = 0$ 時,代表在 $(i,j)$ 上面有一位競賽選手
當 $w_{i,j} < 0$ 時,代表在 $(i,j)$ 上面什麼都沒有
而且對於兩兩不同的麵店,他們的美味程度不會重複。
有許多競賽選手想要去吃拉麵。
每個人都想吃最好吃的拉麵,
可是如果大家都擠在同一間拉麵店的話,就要等很久。
聰明的你想到了一個辦法。
你 分別 規定所有人都只能前往和它距離 $K$ 以內的拉麵店。
也就是說,你不需要給所有人相同的限制,如果你喜歡蕭800 那你就給他限制 $K$ 大一點,如果你覺得蛋餅該少吃拉麵,你就限制他 $K$ 小一點。
其中兩個座標 $(x_1, y_1), (x_2, y_2)$ 的距離定為 $\max(|x_1-x_2|, |y_1-y_2|)$
在這樣的狀況下,所有人都會前往他可以去的拉麵店中,做出最美味拉麵的店。
如此一來,就不會所有人都擠在同一間拉麵店裡了
現在,你想知道如果你好好限制大家,最多能有幾間拉麵店有人光顧
第一行有兩個正整數 $ n, m (n \times m \leq 300) $
接下來 $n$ 行,每行有 $ m $個整數
其中第 $ i $ 行第 $j$ 個代表 $w_{ij}, (-1 \leq w_{ij} \leq n \times m)$
輸出一個整數代表答案
對於範測一,假如我們讓限制為 (1, 2) : 2, (2, 4) : 2, (3, 1) : 1 的話
在 (1, 2) 上的選手會到 (1, 3) 的拉麵店
在 (2, 4) 上的選手會到 (3, 5) 的拉麵店
在 (3, 1) 上的選手會到 (2, 2) 的拉麵店
by kevin_zhang
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~19 | $ n \cdot m \leq 10 $ | 10 |
2 | 0~49 | $ n = 1 $ | 30 |
3 | 0~99 | no additional limits | 60 |