poj1088(記憶化搜尋入門題)

2022-08-21 19:57:10 字數 531 閱讀 4264

思路:明顯的記憶化搜尋題,用dp[i][j]表示從(i,j)出發能滑的最遠距離,用dfs搜尋,若dp[x][y]>0即已經計算過,直接返回值即可,否則按照dfs思路遞推計算其最大值,遞推式為:

dp[x][y]=max(dp[x][y],dfs(xx,yy)+1)((xx,yy)與(x,y)相鄰,且a[xx][yy]

1 #include2 #include3

using

namespace

std;45

intr,c,res;

6int a[105][105],dp[105][105];7

int go[4][2]=;89

int dfs(int x,int

y)17

return

dp[x][y];18}

1920

intmain()

30 printf("

%d\n

",res);

31return

0;

32 }

記憶化搜尋,poj1088

flag i j 表示以現在這個位置為起點的最遠能走的長度,熟悉下遞迴,這個題應該不難,記憶化 include include define max 105 define maxhigh 10005 typedef struct position position move 4 int flag m...

poj 1088 記憶化搜尋

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

POJ 1088(記憶化搜尋)

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