HDU1078:FatMouse and Cheese(记忆化 dp+搜索) (P)
来源:互联网 发布:新浪微博刷粉软件 编辑:程序博客网 时间:2024/05/15 08:01
题目链接:hdu1078
题目大意:FatMouse在一个N*N方格上找吃的,每一个点(x,y)上有一些吃的,FatMouse从(0,0)的位置出发去找吃的,并且每次最多走k步,在他走过的地方就可以吃掉吃的,保证吃的数量在0-100之间,而规定是他只能水平或者垂直走,而且每走一步,下一步的吃的数量是需要大于此刻所占的位置,问FatMouse最后最多可以吃多少吃的。那么因为他是可以在水平和垂直上面随便走的,所以这个DP就没有一定的方向性和子局面可以确定,所以只用DP是不好做出来的,这类采用DP+搜索的方法。
#include<stdio.h>#include<stdlib.h>#include<algorithm>#include <iostream>#include<cstring>using namespace std;#define maxn 500int maps[maxn][maxn];int dp[maxn][maxn];int n,k;int go[4][2]={1,0,-1,0,0,1,0,-1};bool check(int x,int y){if(x>=0&&x<n&&y>=0&&y<n)return true;return false;}int dfs(int x,int y){if(!dp[x][y]){int ans=0;for(int i=1;i<=k;i++){for(int j=0;j<4;j++){int xx=x+go[j][0]*i;int yy=y+go[j][1]*i;if(!check(xx,yy))continue;if(maps[xx][yy]>maps[x][y])ans=max(ans,dfs(xx,yy));}}dp[x][y]=ans+maps[x][y];}return dp[x][y];}int main(){while(~scanf("%d%d",&n,&k)){if(n==-1&&k==-1)break;for(int i=0;i<n;i++)for(int j=0;j<n;j++)scanf("%d",&maps[i][j]);memset(dp,0,sizeof dp);printf("%d\n",dfs(0,0));}return 0;}
阅读全文
0 0
- HDU1078:FatMouse and Cheese(记忆化 dp+搜索) (P)
- HDU1078 FatMouse and Cheese DP(记忆化搜索)
- hdu1078 FatMouse and Cheese(记忆化搜索)
- HDU1078 FatMouse and Cheese 【记忆化搜索】
- hdu1078 FatMouse and Cheese 记忆化搜索
- HDU1078 FatMouse and Cheese记忆化搜索
- hdu1078 fatmouse and cheese 记忆化搜索
- hdu1078 FatMouse and Cheese【记忆化搜索】
- hdu1078 FatMouse and Cheese(记忆化搜索)
- hdu1078 FatMouse and Cheese(记忆化搜索)
- HDU1078 FatMouse and Cheese(DFS记忆化搜索)
- hdu1078+FatMouse and Cheese+DFS+记忆化搜索
- HDU1078 FatMouse and Cheese [记忆化搜索DFS]
- hdu1078 FatMouse and Cheese —— 记忆化搜索
- 记忆化搜索:HDU1078-FatMouse and Cheese(记忆化搜索)
- hdu1078 FatMouse and Cheese 搜索dfs&dp
- HDU1078:FatMouse and Cheese(记忆化)
- HDU1078:FatMouse and Cheese(记忆化)
- oracle数据泵
- Java Scanner类
- 目标跟踪算法小结(一)
- 利用prototxt文件绘制网络的结构图
- 实习点滴(6)--关于机器学习的一些有用的东西
- HDU1078:FatMouse and Cheese(记忆化 dp+搜索) (P)
- 区块链 hyperledger fabric1.0 环境搭建
- php spl_autoload_register()函数
- java多线程自我理解01
- C#的异常处理
- CodeForces
- 15位身份证补全为18位身份证算法
- 文字超过1行、2行或者规定的行数,文字自动加省略号
- C#开发微信门户及应用(46)-基于Bootstrap的微信门户应用管理系统功能介绍