dfs 記憶化 滑雪

2021-10-02 07:47:14 字數 970 閱讀 4231

傳送門

題意:給定乙個r行c列的矩陣,表示乙個矩形網格滑雪場。

矩陣中第 i 行第 j 列的點表示滑雪場的第 i 行第 j 列區域的高度。

乙個人從滑雪場中的某個區域內出發,每次可以向上下左右任意乙個方向滑動乙個單位距離。

當然,乙個人能夠滑動到某相鄰區域的前提是該區域的高度低於自己目前所在區域的高度。

資料範圍

1≤r,c≤300,

0≤矩陣中整數≤1e4

輸入樣例:

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

輸出樣例:

25思路:顯然這就是乙個dfs+記憶化的題。

**實現:

#include

using

namespace std;

typedef

long

long ll;

const

int inf=

0x3f3f3f3f

;const

int n =

305;

int n,m;

int s[n]

[n];

int f[n]

[n];

//所有從(i,j)出發路徑中的最大值

int way[4]

[2]=

,,,}

;//有四個方向可走

intdfs

(int x,

int y)

return v;

}int

main()

滑雪 DFS 記憶化搜尋

michael喜歡滑雪百這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael想知道載乙個區域中最長的滑坡。區域由乙個二維陣列給出。陣列的每個數字代表點的高度。下面是乙個例子 1 2 3 4 5 16 17 ...

B 滑雪 dfs記憶化搜尋

題意 給你乙個r c的數字矩陣,要你找出矩陣中一條遞減的最長路徑的長度。即從矩陣的乙個點出發 起點任意 只能走數字遞減的上下左右4格中的一格,能走的最長距離 包括起點 分析 首先我們令len r c 表示從 r,c 點出發的最長路徑長度.可以知道如下狀態轉移方程 len r c max len r ...

POJ 1088 滑雪 DFS(記憶化)

滑雪time limit 1000ms memory limit 65536k total submissions 80532 accepted 30038 description michael喜歡滑雪百這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不...