hdu 1078 记忆化搜索
2017-09-01 19:39
316 查看
给定一张N*N的图,每个格子上有一些豆子,初始位置是(0,0),每次只能向一个方向走最多m步,然后停下吃掉这个格子上的豆子,但有个限制是当前格子上的豆子必须比之前呆的一个格子里的豆子多,问最多能吃多少豆子。
#include <stdio.h>
#include <string.h>
#include<algorithm>
#include<stack>
#define ll long long
using namespace std;
int dp[2005][2005];
int a[1005][1005];
int n,k;
int dir[4][2]={1,0,-1,0,0,1,0,-1};
int dfs(int x,int y)
{
int ans=0;
if(!dp[x][y])
{
for(int i=1;i<=k;i++)
{
for(int j=0;j<4;j++)
{
int xx=x+dir[j][0]*i;
int yy=y+dir[j][1]*i;
if(xx>=0&&xx<n&&yy>=0&&yy<n&&a[xx][yy]>a[x][y])
{
ans=max(dfs(xx,yy),ans);
}
}
}
return dp[x][y]=ans+a[x][y];
}
return dp[x][y];
}
int main()
{
while(~scanf("%d%d",&n,&k))
{
if(n==-1&&k==-1)
return 0;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
scanf("%d",&a[i][j]);
memset(dp,0,sizeof(dp));
int ans=dfs(0,0);
printf("%d\n",ans);
}
}
#include <stdio.h>
#include <string.h>
#include<algorithm>
#include<stack>
#define ll long long
using namespace std;
int dp[2005][2005];
int a[1005][1005];
int n,k;
int dir[4][2]={1,0,-1,0,0,1,0,-1};
int dfs(int x,int y)
{
int ans=0;
if(!dp[x][y])
{
for(int i=1;i<=k;i++)
{
for(int j=0;j<4;j++)
{
int xx=x+dir[j][0]*i;
int yy=y+dir[j][1]*i;
if(xx>=0&&xx<n&&yy>=0&&yy<n&&a[xx][yy]>a[x][y])
{
ans=max(dfs(xx,yy),ans);
}
}
}
return dp[x][y]=ans+a[x][y];
}
return dp[x][y];
}
int main()
{
while(~scanf("%d%d",&n,&k))
{
if(n==-1&&k==-1)
return 0;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
scanf("%d",&a[i][j]);
memset(dp,0,sizeof(dp));
int ans=dfs(0,0);
printf("%d\n",ans);
}
}
相关文章推荐
- HDU - 1078 FatMouse and Cheese(记忆化搜索)
- HDU 1078 FatMouse and Cheese (记忆化搜索)
- HDU 1078 FatMouse and Cheese (记忆化搜索)
- 【记忆化搜索】HDU 1078 FatMouse and Cheese
- hdu 1078 记忆化搜索
- 每日三题-Day5-C(HDU 1078 FatMouse and Cheese 记忆化搜索)
- HDU 1078 FatMouse and Cheese(记忆化搜索)
- hdu 1078 FatMouse and Cheese(dp 记忆化搜索)
- HDU 1078 记忆化搜索
- hdu 1078 记忆化搜索
- HDU1078 FatMouse and Cheese DP(记忆化搜索)
- hdu 1078 FatMouse and Cheese (dfs+记忆化搜索)
- hdu 1078 FatMouse and Cheese (记忆化搜索)
- hdu-1078 FatMouse and Cheese (and) 滑雪问题(记忆化搜索+简单dp)
- HDU1078(记忆化搜索)
- hdu 1078 记忆化搜索
- hdu 1078 FatMouse and Cheese【经典记忆化搜索】
- hdu 1078 FatMouse and Cheese 记忆化搜索
- hdu 1078 FatMouse and Cheese(记忆化搜索)
- hdu 1078 FatMouse and Cheese(记忆化搜索)