博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU1078 FatMouse and Cheese(记忆化搜索)
阅读量:6950 次
发布时间:2019-06-27

本文共 814 字,大约阅读时间需要 2 分钟。

题意:
老鼠每次只能走k步停下来,停下的这个位置只能比上一个停留的位置大,并获取其价值,每次只能水平或垂直走(十字),问最大能得到的价值
#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;int dp[110][110],a[110][110],n,k;int fx[]={-1,0,0,1},fy[]={ 0,-1,1,0};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+i*fx[j],yy=y+i*fy[j]; if(xx<0||xx>=n||yy<0||yy>=n) continue; if(a[xx][yy]>a[x][y]) ans=max(ans,dfs(xx,yy)); } } dp[x][y]=ans+a[x][y]; } return dp[x][y];}int main(){ //freopen("in.txt","r",stdin); while(~scanf("%d%d",&n,&k)&&n!=-1) { memset(dp,0,sizeof(dp)); for(int i=0;i

 

转载于:https://www.cnblogs.com/d-e-v-i-l/p/5286870.html

你可能感兴趣的文章
qtp试用期30天已经过了就无法使用,解决办法
查看>>
winform文本框怎么实现html的placeholder效果
查看>>
认识CSS样式
查看>>
[转]SQLITE3 C语言接口 API 函数简介
查看>>
Delphi XE5中使用jar包
查看>>
Python3的tcp socket接收不定长数据包接收到的数据不全。
查看>>
b2b
查看>>
第三周Java学习总结
查看>>
OGRE的安装和编译【转+改】
查看>>
获取管理员组用户
查看>>
Mysql—(2)—
查看>>
简历的分布式
查看>>
LeetCode:Rotate Array
查看>>
jquery pagination.js 分页
查看>>
DOM对象与jquery对象
查看>>
XXS level8
查看>>
分布式日志收集系统:Facebook Scribe
查看>>
VxWorks下PCI驱动的配置与测试
查看>>
NSString 中包含中文字符时转换为NSURL
查看>>
多个文本框点击复制 zClip (ZeroClipboard)有关问题
查看>>