hdu 1078 FatMouse and Cheese(记忆化搜索)
题意:一个n*n的矩阵,每个点有若干块点心,小老鼠开始在左上角,每次最多往前走k步,且停留的点的点心数比上一次停留的点大,输出最大的i点心数
分析:停留的点数目必须比上次大,形成一个序,必定是一个DAG,那么dp[ix][y]表示从x,y出发得到的最大数量,如果已经搜索过x,y,直接返回dp[x][y]
裸的记忆话搜索
1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=105; 4 const int dx[]={0,0,1,-1}; 5 const int dy[]={1,-1,0,0}; 6 int a[maxn][maxn],dp[maxn][maxn]; 7 int n,k; 8 9 inline bool judge(int x,int y){ 10 return x>=0&&x<n&&y>=0&&y<n; 11 } 12 13 int dfs(int x,int y){ 14 if(dp[x][y])return dp[x][y]; 15 int t=0; 16 for(int j=1;j<=k;j++) 17 for(int i=0;i<4;i++){ 18 int nx=x+dx[i]*j; 19 int ny=y+dy[i]*j; 20 if(!judge(nx,ny))continue; 21 if(a[nx][ny]>a[x][y])t=max(t,dfs(nx,ny)); 22 } 23 return dp[x][y]=a[x][y]+t; 24 } 25 26 int main(){ 27 28 while(~scanf("%d%d",&n,&k)&&n>0&&k>0){ 29 for(int i=0;i<n;i++) 30 for(int j=0;j<n;j++) 31 scanf("%d",&a[i][j]); 32 33 memset(dp,0,sizeof(dp)); 34 printf("%d\n",dfs(0,0)); 35 36 } 37 return 0; 38 }
View Code
转载于:https://www.cnblogs.com/jihe/p/6566919.html
hdu 1078 FatMouse and Cheese(记忆化搜索)相关推荐
- HDU ACM 1078 FatMouse and Cheese 记忆化+DFS
题意:FatMouse在一个N*N方格上找吃的,每一个点(x,y)有一些吃的,FatMouse从(0,0)的出发去找吃的.每次最多走k步,他走过的位置能够吃掉吃的.保证吃的数量在0-100.规定他仅仅 ...
- HDU 1078 FatMouse and Cheese【记忆化搜索】
<题目链接> 题目大意: 给你一个n*n的矩阵,每个矩阵上有相应数量的奶酪,老鼠一次最多走K步,且每次只能横着走或者竖着走,并且每一次停留位置上的奶酪数一定要多余它刚才的奶酪数,求这只老鼠 ...
- HDU - 1078 FatMouse and Cheese
再谈记忆化搜索 题目描述: FatMouse has stored some cheese in a city. The city can be considered as a square grid ...
- HDU 1176 免费馅饼(记忆化搜索)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- HDU 2452 Navy maneuvers (记忆化搜索)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2452 题意:给出一个图,n个点,m条边,保证无环,每个点有一个权值.指定一个点作为起点,Victory和G ...
- 【HDU - 2571】 命运(记忆化搜索)
题干: 穿过幽谷意味着离大魔王lemon已经无限接近了! 可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个机关.要知道,不论何人,若在迷 ...
- 【HDU 1501】Zipper(记忆化搜索)
传送门 我们记录pos1 pos2 pos3 分别代表现在字符串1,2,3的位置 然后判断pos1是否等于pos3 或者pos2是否等于pos3 分别进行dfs 然后我们发现是可以记忆化的 比方当po ...
- 记忆化搜索例题 记忆化搜索
1.poj 1579 题目链接: http://poj.org/problem?id=1579 代码如下: #include <cstdio> #include <cstring& ...
- FatMouse and Cheese HDU - 1078(记忆化搜索入门模板)
题意: n * n的正方形格子(每个格子均放了奶酪),老鼠从(0,0)开始,每次最多移动k步,可以选择上下左右四个方向移动,下一个移动点奶酪块数量必须要大于当前点. 整理模板ing- 题目: FatM ...
最新文章
- 只用位运算不用算术运算实现
- K8s 集群节点在线率达到 99.9% 以上,扩容效率提升 50%,我们做了这 3 个深度改造
- 计算机开不开机是什么原因是什么原因,电脑开不了机的原因,详细教您电脑开不了机怎么办...
- 三种excel 多条件计数方法
- Maven 添加本地 jar 包、添加依赖 jar 文件到本地 Maven 仓库、引用本地 jar
- storm基础系列之二----zookeeper的作用
- 专利翻译常用计算机词汇,基于NP树的英文专利文献术语自动翻译技术研究-计算机应用技术专业论文.docx...
- linux32-bit是什么意思,怎么查看LINUX系统是32bit还是64bit
- [Ural1099]工作安排 带花树
- 第九天 面试失败了。。。。
- Java 分支与循环
- tp6 实现汉字转拼音
- 写给青春,写给军乐团
- 计算机硬件系统包括哪几部分组成,计算机硬件系统由哪几部分组成
- 如何量化炒股中的上升下降趋势及k线形态_如何量化炒股之代码思维
- 稳坐青梅零食第一宝座,溜溜梅凭什么?
- python 定时发送微信,利用python在微信中实现一个定时发送消息的功能
- MIPAV - Talairach ACPC transform
- 蓝桥杯算法训练-24点(Python)
- texlive和texstudio安装及使用
热门文章
- 软件交接需要交接哪些内容_从代理记账公司交接,需要交接哪些财务资料?
- java虚拟机缓存_《深入理解Java虚拟机》-- 对缓存的理解
- leetcode 21 java_LeetCode 21. 合并两个有序链表
- 计算机一级在线练习,计算机一级练习系统
- 集群提交HBase代码报错:Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.HBaseConfiguratio
- 微软纸牌服务器慢,微软为何设计纸牌和扫雷?真是用心良苦
- [Flink]Flink 的物理分区器
- HTTP缓存策略 304
- 现任明教教主DM×××的3G链路备份
- RocketMQ-安装使用