hdu 1078 记忆化搜索
题意:给出n*n的格子,每个各自里面有些食物,问一只老鼠每次走最多k步所能吃到的最多的食物
虽然是做过的老题了,但是1A的感觉好爽,对搜索认识更深了
1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 #include<queue> 7 #include<map> 8 using namespace std; 9 #define MOD 1000000007 10 const double eps=1e-5; 11 #define cl(a) memset(a,0,sizeof(a)) 12 #define ts printf("*****\n"); 13 const int MAXN=1005; 14 int n,m,tt; 15 int dp[MAXN][MAXN],k; 16 int a[MAXN][MAXN]; 17 int d[4][2]={0,-1,-1,0,1,0,0,1}; 18 int dfs(int x,int y) //从xy点出发所能得到的最大 19 { 20 int nx,ny,max1=0; 21 if(dp[x][y]) return dp[x][y]; 22 for(int i=0;i<4;i++) 23 for(int j=1;j<=k;j++) 24 { 25 nx=x+d[i][0]*j; 26 ny=y+d[i][1]*j; 27 if(nx>=0&&nx<n&&ny>=0&&ny<n&&a[nx][ny]>a[x][y]) 28 { 29 int sum=dfs(nx,ny); 30 max1=max(max1,sum); 31 } 32 } 33 return dp[x][y]=max1+a[x][y]; 34 } 35 int main() 36 { 37 int i,j; 38 #ifndef ONLINE_JUDGE 39 freopen("1.in","r",stdin); 40 #endif 41 while(scanf("%d%d",&n,&k)!=EOF) 42 { 43 if(n==-1&&k==-1) break; 44 for(i=0;i<n;i++) 45 for(j=0;j<n;j++) scanf("%d",&a[i][j]); 46 cl(dp); 47 dfs(0,0); 48 printf("%d\n",dp[0][0]); 49 } 50 }
转载于:https://www.cnblogs.com/cnblogs321114287/p/4433633.html
hdu 1078 记忆化搜索相关推荐
- hdu 4722(记忆化搜索)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4722 思路:简单的记忆化搜索,留意一下A==0时的情况就可以了. 1 #include<iost ...
- hdu 1142 记忆化搜索
题目是这样的,貌似一开始我这个英语搓的人还理解错了...orz http://acm.hdu.edu.cn/showproblem.php?pid=1142 就是最短路,只不过用dijkstra是从终 ...
- hdu 1514 记忆化搜索
题意是给4堆(堆的高度小于等于40)有颜色(颜色的种类小于等于20)的物品,你有一个篮子最多能装5件物品,每次从这4堆物品里面 任取一件物品放进篮子里,但是取每堆物品时,必须先取上面的物品,才能取下面 ...
- hdu 1078(记忆化搜索)
题意: 老鼠每次最多走k步停下来,停下的这个位置只能比上一个停留的位置大,并获取其价值,每次只能水平或垂直走,问最大能得到的价值 解题思路:这道题可以用记忆化搜索解决,dp[i][j]表示老鼠在位置( ...
- HDU 1078 FatMouse and Cheese【记忆化搜索】
<题目链接> 题目大意: 给你一个n*n的矩阵,每个矩阵上有相应数量的奶酪,老鼠一次最多走K步,且每次只能横着走或者竖着走,并且每一次停留位置上的奶酪数一定要多余它刚才的奶酪数,求这只老鼠 ...
- FatMouse and Cheese HDU - 1078(记忆化搜索入门模板)
题意: n * n的正方形格子(每个格子均放了奶酪),老鼠从(0,0)开始,每次最多移动k步,可以选择上下左右四个方向移动,下一个移动点奶酪块数量必须要大于当前点. 整理模板ing- 题目: FatM ...
- hdu 4597 Play Game(记忆化搜索)
题目链接:hdu 4597 Play Game 题目大意:给出两堆牌,仅仅能从最上和最下取,然后两个人轮流取,都依照自己最优的策略.问说第一个人对多的分值. 解题思路:记忆化搜索,状态出来就很水,dp ...
- HDU 1176 免费馅饼(记忆化搜索)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- HDU 漫步校园 (记忆化搜索)
漫步校园 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submissi ...
最新文章
- 这可能是史上功能最全的Java权限认证框架!
- java创建线程安全的集合
- list转为 数组[] 形式
- C++总结篇(5)vector
- html标签info,HtmlTrInfo 元素
- 将request.getParameterMap()转换成可操作的普通Map
- Deployment vs ReplicationController in Kubernetes
- ajax显示dataframe,如何使用ajax在运行时显示shell脚本的输出
- C++中指针和引用区别
- 使用QT调用FFMPEG库部署到Android设备、完成视频音频应用开发
- CSDN专访EnableQ在线调查引擎创作团队—软件是为用户而设计的,不是为程序员使用的
- 记一次有趣的诱导安装
- idea安装插件后无法启动
- 计算机word怎么插入图片,word如何插入图片 Word2003如何插入电脑中图片
- Honeywell全系列打印机驱动interdriver 2019.M-3
- 未来交通 | 中国二十城出行者“MaaS及共享出行体验”初探索
- p5.js创意绘图(2)自画像
- 点到超平面的距离公式
- UTF-8有BOM和无BOM的区别
- 并发常用的2个SQL语句
热门文章
- WinDbg实战调试命令笔记
- 详解几种飞控的姿态解算算法
- Think Bayes - 我所理解的贝叶斯定理
- CF-786B(Legacy) 区间最短路
- Kali Linux ver2020.4安装Google中文输入法以及nslookup、dig等工具
- Linux添加用户(user)到用户组(group)
- ERROR: org.apache.hadoop.hbase.PleaseHoldException:Master is initializing
- java 泛型 extends 多个
- XSD(Schema)教程
- 复合索引和一般索引的问题