給你乙個n∗
n n∗n
的矩陣,每個位置都有乙個數字a[i][j],然後從(0,0)開始走,每次只能走1~k步,並且要使得下乙個位置的a大於當前位置的a,要求這麼走下去的最大和。
多組輸入,1≤
n≤100 1≤n
≤100
。
#include
#include
#include
#include
#include
using
namespace
std;
const
int maxn = 100;
int n, k, max;
int a[maxn + 5][maxn + 5];
int dp[maxn + 5][maxn + 5];
int dfs(int x, int y) }}
dp[x][y] = max + a[x][y];
return dp[x][y];
}int main()
return
0;}
hdu 1078 (dp記憶化搜尋)
題意 有乙個n n的方格,每個格仔有乙個價值,經過這個格仔就可以得到這個價值,每次可以橫著或者豎著一步最多走k格,並且每次走的格仔要比上乙個格仔的價值大,問現在從位置 1,1 走,最大可以獲得的價值.分析 記憶化搜素,dp i j 表示的是從位置 i,j 開始走可以獲得的最大價值。記錄下這些價值就可...
HDU 1078 記憶化搜尋 DP
題目大意 給乙個n n正方形,從左上角開始走,每次可以橫著或豎著走,最多走k步 要麼橫著要麼豎著!只能從小數字往大數字走,問結果最大是多少 以下是 includeusing namespace std define inf 0x3f3f3f3f define rep i,a,b for int i ...
hdu 1078 記憶化搜尋
hdu 1078 題意 每次可以朝乙個方向走k格,必須走到乙個數值比當前值大的點,問最多數值加起來能有多少,走到不能再走。一開始定義錯了,定義dp i j 為以 i,j 為終點時所能得到的最大值。dp i t dx j t dy max dp i t dx j t dy dp i j a i t d...