這道題dp形式寫過一遍,感覺記憶化不如dp好想。思路就是dfs搜尋+儲存當前位置dfs所得能達到的最大長度(當其他dfs呼叫到此位置時,直接返回,避免重複遞迴計算)。
#include#include#includeusing namespace std;
const int maxn = 110;
int dp[maxn][maxn];
int g[maxn][maxn];
int r, c;
int dir[4][2] = , , , };
int dfs(int x, int y)
maxx = max(maxx, t);
}return dp[x][y] = maxx;
}int main()
}for(int i = 1; i <= r; i++)
}int ans = 0;
for(int i = 1; i <= r; i++)
}cout << ans << endl;
return 0;
}
POJ 1088 滑雪 記憶化搜尋
滑雪 time limit 1000ms memory limit 65536k total submissions 79619 accepted 29637 description michael喜歡滑雪百這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你...
POJ 1088 滑雪 記憶化搜尋
description michael喜歡滑雪百這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael想知道載乙個區域中最長底滑坡。區域由乙個二維陣列給出。陣列的每個數字代表點的高度。下面是乙個例子 1 2 ...
POJ 1088 滑雪 記憶化搜尋
滑雪 time limit 1000ms memory limit 65536k total submissions 84463 accepted 31618 description michael喜歡滑雪百這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你...