Bzoj3628: [JLOI2014]天天酷跑
3628: [JLOI2014]天天酷跑
Time Limit: 20 Sec Memory Limit: 128 MB
Submit: 121 Solved: 44
[Submit][Status][Discuss]
Description
以下是连跳数为2连跳,跳跃高度为2的跳跃方案:
Input
第一行四个整数n,m,cost1,cost2。n,m如题意所示,cost1,cost2分别表示每升一级跳跃高度,连跳数所需的花费。
接下来m行,每行n个数。第i行第j个数表示地图中高度为i,长度在第j列处的收益。
Output
如果无法跑出终点线,就输出“mission failed”,否则输出一行三个数,分别表示最大收益;及最大收益时,最小的连跳数;最大收益,最小连跳数时,最小的跳跃高度。
Sample Input
9 4 7 7 4 3 2
18 8 9 4 15 12 4
19 2 4 7 10 18 12
8 1 13 14 16 0 14
Sample Output
HINT
提示
20%数据满足 m=2, n<=100000;
另有80%数据 n<=10000,2<m<=20,其中20%数据 2<n<=10,m<=10;
/*定义状态f[i][j][o]表示处于x,y这个位置,还剩余o次连跳数的最大收益如果是跑——f[i][j][o]=max(f[i][j+1][o]+w[i][j]) w[i][j]为这点的权值;如果是跳的话——f[i][j][o]=max(f[i+跳跃高度(high)][j+high][o--]+hhh+w[i][j]) hhh跳跃上升过程中得到的金币数。 */ #include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> using namespace std; #define inf 1<<30 #define maxn 100010 bool vis[25][maxn][6]; int f[25][maxn][6],map[25][maxn]; int n,m,c1,c2,ans=-inf,ans1,ans2,h,num; int dfs(int x,int y,int now){if(x>n)return 0;if(map[y][x]==-1)return -inf;if(vis[y][x][now])return f[y][x][now];int tot=-inf,sum=0;bool flag=1;if(y==1)now=0;if(now<num){for(int i=1;i<h;i++){if(map[y+i][x+i]==-1){flag=0;break;}sum+=map[y+i][x+i];}if(flag)tot=max(tot,sum+dfs(x+h,y+h,now+1));}if(y==1)tot=max(tot,dfs(x+1,y,0));if(y>1)tot=max(tot,dfs(x+1,y-1,now));vis[y][x][now]=1;f[y][x][now]=tot+map[y][x];return f[y][x][now]; } int main(){scanf("%d%d%d%d",&n,&m,&c1,&c2);for(int i=1;i<=m;i++)for(int j=1;j<=n;j++)scanf("%d",&map[i][j]);for(num=1;num<=5;num++){for(h=1;h*num<m;h++){memset(f,-1,sizeof(f));memset(vis,0,sizeof(vis));int tot=dfs(0,1,m)-c2*(num-1)-c1*(h-1);if(ans<tot)ans=tot,ans1=num,ans2=h;}}if(ans>0)printf("%d %d %d",ans,ans1,ans2);else printf("mission failed");return 0; }
转载于:https://www.cnblogs.com/thmyl/p/7485186.html
Bzoj3628: [JLOI2014]天天酷跑相关推荐
- 用 Python 写一个天天酷跑,在线摸鱼不烦恼
来源丨Python小二 写出来的效果图就是这样了: 下面就更新一下全部的代码吧~ 还是老样子先定义 import pygame,sys import random 写一下游戏配置 width = 12 ...
- 用Java实现天天酷跑(附源码),这个真的有点强了!
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:MyHuey https://blog.csdn.n ...
- 不敢相信,居然用Java写了个“天天酷跑”!
作者 | MyHuey 来源 | https://blog.csdn.net/qq_45909299 首先,写一个需求文档: 一.项目名称:<天天酷跑>(RunDay) 二.功能介绍: 闯 ...
- 用Java实现天天酷跑(附源码),只能用牛逼来形容了!
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 作者:M ...
- java窗体添加背景图片_Java项目实战之实战之天天酷跑(四):游戏主界面
接上文,本文将实现游戏主界面,功能如下: 移动的背景图片.动态的玩家.玩家的移动功能.五种障碍物持续出现.玩家和障碍物的碰撞.暂停.继续功能. 首先,看一下整体效果: 动图实在太大,几秒钟的 Gif ...
- element 密码输入框用*显示_用 Java 实现天天酷跑,这个真的有点强了
一.登录界面 界面功能需求图如下: 接下来我们再做一些准备工作:导入相关图片素材. 将天天酷跑的图片(Image)资源解压到桌面后,(Image文件如下图所示:) 复制到Eclipse中,单击src, ...
- awt jtable 多线程加载图片_Java项目实战之天天酷跑(三):缓冲加载游戏界面
前文,我们完成了开始游戏界面的搭建.本文将实现缓冲加载界面的搭建.并搭建与前面俩界面间的桥梁.实现输入正确用户名密码后,进入开始游戏界面,点击开始游戏按钮后,进入缓冲加载界面的功能. 界面示意图: 具 ...
- 天天酷跑php源码_使用Java实现天天酷跑(附源码)
首先,写一个需求文档: 一.项目名称:<天天酷跑>(RunDay) 二.功能介绍: 闯关类游戏,玩家登录后,选择进入游戏,通过键盘控制玩家的上下左右移动,来躲避 障碍物和吃金币,玩家躲避的 ...
- 安卓添加滚轮代码_[按键精灵手机版教程]安卓实战——制作天天酷跑脚本(2)...
金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚 ...
最新文章
- 解决 javax.servlet.jsp.JspException cannot be resolved to a type的问题
- [unix shell笔记] - 和find命令结合使用xargs命令
- access开发精要(3)-子数据表
- 操作系统实验报告10:线程1
- java完全解耦_java-完全解耦 - osc_bc7dotjc的个人空间 - OSCHINA - 中文开源技术交流社区...
- pandas dataframe按行或列求和
- VS2010中使Unity3d的shader文件关键字高亮
- 力扣530. 二叉搜索树的最小绝对差(JavaScript)
- sublime text 3的组合快捷键汇总
- 如何在一个bat批处理文件中调用另一个bat批处理文件?
- python词云可视化视频_Python数据分析-可视化-wordcloud词云
- ln 硬链接和软链接
- 常见的meta标签用法
- Python爬虫介绍
- 叶俊——“新零售·新未来”米友圈第九届全国精英总裁班授课圆满落幕
- Win7网络修复,winsock/tcpip
- mac下如何将adobe acrobat reader dc设为.pdf的默认打开方式?
- 原根(知识学习+板子总结+例题+应用)
- html 下拉框高度,如何自定义设置select下拉框高度的优化方法
- 自定义 View 之实现九宫格锁屏效果
热门文章
- php获取随机图片,PHP 随机显示某张图片
- 开发转运维有什么好点的理由_芜湖好点的团购社区费用
- u6系统服务器启动不了,u6链接不到服务器
- 鸿蒙系统有无隐私空间,华为鸿蒙OS系统有隐私空间功能吗 华为p40使用鸿蒙系统体验评测...
- Java show两个整数加减_怎么样用java编写界面实现两个数的加法运算
- python中xpath定位下拉菜单_Selenium2+Python3.6实战(八):定位下拉菜单出错,如何解决?用select或xpath定位。...
- python正则表达式快速入门_Python学习笔记——正则表达式入门
- 华清实训的收获(人工智能的小广告和福利)
- [Spark]PySpark入门学习教程---介绍(1)
- 训练神经网络适合使用交叉熵(cross_entropy)错误率,而不是分类错误率或是均方差