滑雪 記憶化搜尋

2021-06-27 22:49:08 字數 1280 閱讀 1061

trs喜歡滑雪。他來到了乙個滑雪場,這個滑雪場是乙個矩形,為了簡便,我們用r行c列的矩陣來表示每塊地形。為了得到更快的速度,滑行的路線必須向下傾斜。

例如樣例中的那個矩形,可以從某個點滑向上下左右四個相鄰的點之一。例如24-17-16-1,其實25-24-23…3-2-1更長,事實上這是最長的一條。

輸入檔案

第1行: 兩個數字r,c(1<=r,c<=100),表示矩陣的行列。

第2..r+1行:每行c個數,表示這個矩陣。

輸出檔案

僅一行: 輸出1個整數,表示可以滑行的最大長度。

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

25

因為從乙個點(i,j)可以向四周比它低的點滑下 所以不難得出
f[i][j]=max(f[i+movex[k]][j+movey[k]])
記憶化搜尋  初始化ans[i][j]值為乙個特殊值 通過檢查值來判斷是否曾經計算過
#include #include #include using namespace std;

int height[110][110],ans[110][110];

int r,c,res=0;

int f(int i,int j)

if(i+1<=r&&height[i][j]>height[i+1][j])

if(j-1>=1&&height[i][j]>height[i][j-1])

if(j+1<=c&&height[i][j]>height[i][j+1])

if(!flag) ans[i][j]=1;

} return ans[i][j]; }

int main()

memset(ans,-1,sizeof(ans));

for(int i=1;i<=r;i++)

for(int j=1;j<=c;j++)

printf("%d\n",res);

return 0;

}

滑雪 記憶化搜尋

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

記憶化搜尋 滑雪

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

滑雪(記憶化搜尋)

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