蒜头君在玩一款逃生的游戏。在一个 n \times mn×m的矩形地图上,蒜头位于其中一个点。地图上每个格子有加血的药剂,和掉血的火焰,药剂的药效不同,火焰的大小也不同,每个格子上有一个数字,如果格子上的数字是正数说明是一个药剂代表增加的生命值,如果是负数说明是火焰代表失去的生命值。

蒜头初始化有 vv 点血量,他的血量上限是 cc,任何时刻他的生命值都不能大于血量上限,如果血量为 00 则会死亡,不能继续游戏。

矩形地图上的四个角(1, 1)(1,1),(1, m)(1,m),(n, 1)(n,1),(n, m)(n,m)为游戏的出口。游戏中只要选定了一个出口,就必须朝着这个方向走。例如,选择了左下的出口,就只能往左和下两个方向前进,选择了右上的出口,就只能往右和上两个方向前进,左上和右下方向的出口同理。

如果成功逃生,那么剩余生命值越高,则游戏分数越高。为了能拿到最高分,请你帮忙计算如果成功逃生最多能剩余多少血量,如果不能逃生输出 -1−1。

输入格式

第一行依次输入整数 nn,mm,xx,yy,vv,cc(1 < n,m \leq 10001<n,m≤1000,1 \leq x \leq n1≤x≤n,1 \leq y \leq m1≤y≤m,1 \leq v \leq c \leq 100001≤v≤c≤10000), 其中 n, mn,m 代表地图大小,(x, y)(x,y) 代表蒜头君的初始位置,vv 代表蒜头的初始化血量,cc代表蒜头的生命值上限。

接下来 nn 行,每行有 mm 个数字,代表地图信息。(每个数字的绝对值不大于100100,地图中蒜头君的初始位置的值一定为 00)

输出格式

一行输出一个数字,代表成功逃生最多剩余的血量,如果失败输出 -1−1。

样例输入

4 4 3 2 5 10
1 2 3 4
-1 -2 -3 -4
4 0 2 1
-4 -3 -2 -1

样例输出

10
蒜头君在玩一款逃生的游戏。在一个 n \times mn×m 的矩形地图上,蒜头位于其中一个点。地图上每个格子有加血的药剂,和掉血的火焰,药剂的药效不同,火焰的大小也不同,每个格子上有一个数字,如果格子上的数字是正数说明是一个药剂代表增加的生命值,如果是负数说明是火焰代表失去的生命值。

蒜头初始化有 vv 点血量,他的血量上限是 cc,任何时刻他的生命值都不能大于血量上限,如果血量为  则会死亡,不能继续游戏。

矩形地图上的四个角(, )(,),(, m)(,m),(n, )(n,),(n, m)(n,m)为游戏的出口。游戏中只要选定了一个出口,就必须朝着这个方向走。例如,选择了左下的出口,就只能往左和下两个方向前进,选择了右上的出口,就只能往右和上两个方向前进,左上和右下方向的出口同理。

如果成功逃生,那么剩余生命值越高,则游戏分数越高。为了能拿到最高分,请你帮忙计算如果成功逃生最多能剩余多少血量,如果不能逃生输出 -−。

输入格式

第一行依次输入整数 nn,mm,xx,yy,vv,cc( < n,m \leq <n,m≤, \leq x \leq n1≤x≤n, \leq y \leq m1≤y≤m, \leq v \leq c \leq ≤v≤c≤), 其中 n, mn,m 代表地图大小,(x, y)(x,y) 代表蒜头君的初始位置,vv 代表蒜头的初始化血量,cc 代表蒜头的生命值上限。

接下来 nn 行,每行有 mm 个数字,代表地图信息。(每个数字的绝对值不大于100100,地图中蒜头君的初始位置的值一定为 )

输出格式

一行输出一个数字,代表成功逃生最多剩余的血量,如果失败输出 -−。

样例输入

- - - -

- - - -
样例输出

每一步的最大血量由之前的状态推出。需要注意的是:有的地方最大血量<0,不能终止搜索过程,因为可能可以从兄弟状态转换到儿子状态。

第二点就是除了单一状态的点,其他状态都不会重复访问,而单一状态的重复访问会导致血量叠加,所以用vis数组标记出,只访问一次。

比如 23 0 ,这样左上和左下都会到达0,0这个状态。。。

逃生dp的更多相关文章

  1. 逃生(地图上的dp)

    蒜头君在玩一款逃生的游戏.在一个n×m 的矩形地图上,蒜头位于其中一个点.地图上每个格子有加血的药剂,和掉血的火焰,药剂的药效不同,火焰的大小也不同,每个格子上有一个数字,如果格子上的数字是正数说明是 ...

  2. HDU 3366 Passage (概率DP)

    Passage Problem Description Bill is a millionaire. But unfortunately he was trapped in a castle. The ...

  3. 洛谷P4823 拯救小矮人 [TJOI2013] 贪心+dp

    正解:贪心+dp 解题报告: 传送门! 我以前好像碰到过这题的说,,,有可能是做过类似的题qwq? 首先考虑这种显然是dp?就f[i][j]:决策到了地i个人,跑了j个的最大高度,不断更新j的上限就得 ...

  4. YTU 2899: D-险恶逃生 I

    2899: D-险恶逃生 I 时间限制: 1 Sec  内存限制: 128 MB 提交: 130  解决: 55 题目描述 Koha被邪恶的巫师困在一个m*n的矩阵当中,他被放在了矩阵的最左上角坐标( ...

  5. BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]

    1911: [Apio2010]特别行动队 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 4142  Solved: 1964[Submit][Statu ...

  6. 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...

  7. AEAI DP V3.7.0 发布,开源综合应用开发平台

    1  升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...

  8. AEAI DP V3.6.0 升级说明,开源综合应用开发平台

    AEAI DP综合应用开发平台是一款扩展开发工具,专门用于开发MIS类的Java Web应用,本次发版的AEAI DP_v3.6.0版本为AEAI DP _v3.5.0版本的升级版本,该产品现已开源并 ...

  9. BZOJ 1597: [Usaco2008 Mar]土地购买 [斜率优化DP]

    1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4026  Solved: 1473[Submit] ...

随机推荐

  1. Spring定时器XML配置

    spring-task.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&qu ...

  2. JavaWeb学习笔记:ServletConfig()和ServletContext()

    ServletConfig()和ServletContext() 1.ServletConfig() ServletConfig是一个接口,它由server提供商来实现. ServletConfig封 ...

  3. 机器学习-特征选择 Feature Selection 研究报告

    原文:http://www.cnblogs.com/xbinworld/archive/2012/11/27/2791504.html 机器学习-特征选择 Feature Selection 研究报告 ...

  4. [JS Compose] 7. Ensure failsafe combination using monoids

    monoids is a semi-group with a neutral element. A semigroup, it does not have an element to return s ...

  5. <The Art of Readable Code> 笔记二 (上)

    第2章  封装信息到名字 (Packing information into names) 2.1  use specific words GetPage() 不如 FetchPage() 和 Dow ...

  6. git stash笔记

    日常工作中经常会需要放下手头上的工作,转而去修改之前的某一个bug,此时就需要将现有的改动添加到staging area git add . 然后将这些改动暂时放入一个stack中: git stas ...

  7. Linux dig

    安装dig: yum install bind-utils dig 常用命令: # dig 最基本的用法dig @server sina.com.cn. # 用 dig 查看 zone 数据传输 di ...

  8. ACE中TASK架构简介及简单应用

    一.基础功能介绍 1.ACE_Message_Block*,Windows消息用MSG结构表示,ACE_Task中因为不能预计各种应用中消息的类型,所以ACE_Message_Block基本上可以理解 ...

  9. 使用create-react-app模板模仿12306app

    概述 使用create-react-app模板模仿12306app,实现了登陆和查票购票管理,结合express+mysql做后台,实现数据存储. github地址:https://github.co ...

  10. Ubuntu系统使用命令禁用触摸板等输入设备

    [日期:2012-02-22]   本人用的Ubuntu 10.04系统,笔记本上有鼠标和触摸板.默认下,触摸板是开启的, 有时候打字的时候会不时碰到触摸板,添了不少麻烦,所以得禁用触摸板,限于目前所 ...