hrbustoj 1179 下山(DFS 剪枝)

2021-09-06 15:15:35 字數 1356 閱讀 5836

下山

time limit: 1000 ms memory limit: 65536 k

total submit: 271(111 users) total accepted: 129(101 users) rating: special judge: no

description

下面的矩陣可以想象成鳥瞰一座山,矩陣內的資料可以想象成山的高度。

可以從任意一點開始下山。每一步的都可以朝「上下左右」4個方向行走,前提是下一步所在的點比當前所在點的數值小。

例如處在18這個點上,可以向上、向左移動,而不能向右、向下移動。

1 2 3 4 5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

問題是,對於這種的矩陣,請計算出最長的下山路徑。

對於上面所給出的矩陣,最長路徑為25-24-23-22-21-20-19-18-17-16-15-14-13-12-11-10-9-8-7-6-5-4-3-2-1,應輸出結果25。

input

輸入包括多組測試用例。

對於每個用例,第一行包含兩個正整數r和c分別代表矩陣的行數和列數。(1 <= r,c <= 100)

從第二行開始是乙個r行c列矩陣,每點的數值在[0,10000]內。

output

輸出最長的下山路徑的長度。

sample input

5 51 2 3 4 5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

sample output

25hint

深度優先搜尋

author

盧俊達dfs深搜,入門題

深搜入門題,注意剪枝,不然會超時。

HrbustOJ 2344 真假小妖

真假小妖 time limit 1000 ms memory limit 256000 k total submit 204 127 users total accepted 136 122 users rating special judge no description 風和日麗的一天,塗山小八...

hrbust oj 1526 2028 樹狀陣列

氣泡排序中 如果乙個數的後面的某個數和這個數不符合排序規則 那麼這個數就會在未來的某次冒泡中與那個數進行交換 這裡用到了 樹狀陣列求逆序數的辦法來做 需要注意的是2028並不可以改完陣列大小後直接套1526 因為會超出int的範圍 樹狀陣列求逆序對的耗時要比歸併排序長一些 不過簡單.之所以要記錄下來...

1179結題報告

我對已經非常失望了。也不能和文字分開了。不知道是出了什麼毛病。挺討厭亂七八糟!這個題是典型的dp,由低往上遞推。公式很簡單。需要注意乙個地方就是負負得正。不僅需要儲存一段區間的最大值,也需要儲存最小值。關於這一點我也是看了discuss後才明白的。至於為什麼要這樣,想想也能想明白。就不多說了。共參考...