滑雪 DFS 記憶化搜尋

2021-08-22 15:08:11 字數 1018 閱讀 9555

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

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

乙個人可以從某個點滑向上下左右相鄰四個點之一,當且僅當高度減小。在上面的例子中,一條可滑行的滑坡為24-17-16-1。當然25-24-23-…-3-2-1更長。事實上,這是最長的一條。

input

輸入的第一行表示區域的行數r和列數c(1 <= r,c <= 100)。下面是r行,每行有c個整數,代表高度h,0<=h<=10000。

output

輸出最長區域的長度。

sample input

5 5

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

sample output

25

#include 

using

namespace

std;

int a[105][105];

int dp[105][105];

int n, m;

int dir[4][2] = ;

bool check (int x, int y)

int dfs(int x, int y)

}return dp[x][y] = ret + 1;

}int main()

return

0;}

B 滑雪 dfs記憶化搜尋

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

dfs 記憶化 滑雪

傳送門 題意 給定乙個r行c列的矩陣,表示乙個矩形網格滑雪場。矩陣中第 i 行第 j 列的點表示滑雪場的第 i 行第 j 列區域的高度。乙個人從滑雪場中的某個區域內出發,每次可以向上下左右任意乙個方向滑動乙個單位距離。當然,乙個人能夠滑動到某相鄰區域的前提是該區域的高度低於自己目前所在區域的高度。資...

滑雪 記憶化搜尋

from silence 滑雪 背景 background 成成第一次模擬賽 第三道 描述 description 輸入格式 input format 輸入檔案 第1行 兩個數字r,c 1 r,c 100 表示矩陣的行列。第2.r 1行 每行c個數,表示這個矩陣。輸出格式 output format...