題目大意:給乙個n*n正方形,從左上角開始走,每次可以橫著或豎著走,最多走k步(要麼橫著要麼豎著!),只能從小數字往大數字走,問結果最大是多少
以下是**:
#includeusing namespace std;
#define inf 0x3f3f3f3f
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define per(i,a,b) for(int i=a;i>=b;i--)
#define ll long long
const int maxn = 105;
#define pi acos(-1)
int n,k;
int a[maxn][maxn],dp[maxn][maxn],dir[4][2]=;
int dfs(int x,int y)
}return dp[x][y];
}int main()
}memset(dp,0,sizeof(dp));
dfs(1,1);
printf("%d\n",dp[1][1]);
}return 0;
}
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...
hdu 1078(記憶化搜尋)
題意 老鼠每次最多走k步停下來,停下的這個位置只能比上乙個停留的位置大,並獲取其價值,每次只能水平或垂直走,問最大能得到的價值 解題思路 這道題可以用記憶化搜尋解決,dp i j 表示老鼠在位置 i,j 時可以達到的最優值。因為dp的狀態是乙個有向無環圖,剛開始想會不會走死迴圈,但是這道題有乙個條件...
HDU 1078 記憶化搜尋
題目鏈結 題意是老鼠一開始在 0,0 點,每個點都有乳酪數目,如果老鼠走到 的話就獲得所有乳酪,老鼠只能水平走和垂直走,問怎麼走才能獲得最 酪數。輸入n和k,n是地圖大小,k是老鼠能走多遠。很簡單的一道題,注意超時,記住用記憶化,貌似就因為要記憶化才被hdu歸類進dp的。下面是 include in...