与班尼特·胡迪一起攻破浮空城 AC

Time Limit:  1 s      Memory Limit:   256 MB

Description

桐人为了拯救被困在浮空城堡最顶层的亚丝娜,决定从第一层,不断战斗到最后一层,直至救出亚丝娜,但他需要班尼特·胡迪帮他设计一条攻略路线,可是班尼特·胡迪没有任何思绪,于是他找到了聪明的你帮忙。

现在把浮空城堡理想化为一个由h*n*m个的立方体区域组成的大方体,h为层数,1<=h<=100,n为纵向区域数量,1<=n<=100,m为横向区域数量,1<=m<=100。每个区域(非边缘区域)只与上下东南西北的六个区域相通,每个区域内有若干个守卫(不会超过10个),桐人一开始的战斗值p为0,每击败一个守卫,他的战斗值便会加1,击败守卫不消耗桐人的时间,击败完该区域所有守卫,他可以移动至与该区域相通的任何区域,每次移动时间一样。桐人的起始位置为第1层[n][1]区域,亚丝娜的位置为第h层[1][m]区域。

你设计的路线需满足以下条件:

1、桐人需要最快救出亚丝娜。

2、在保证最快救出亚丝娜的前提下,桐人需要尽可能多地击败守卫,以获取更多的战斗值,从而击败最后BOSS,救出亚丝娜。

Input

多组输入,第一行给出3个整数n、m,h, 接下去给出h张(第1层~第h层)n*m的区域守卫数量分布。

Output

输出一行桐人救出亚丝娜后最多能获得的战斗值p。

Samples

input:
3 3 1
0 2 0
0 4 0
0 0 5
4 5 2
0 0 3 2 0
0 5 3 0 0
6 0 0 1 0
0 1 7 0 0
0 9 0 0 0
0 5 0 0 0
0 0 0 0 0
1 0 0 2 0
 
output:
6 25

Hint

第二组样例中,

第一层地图为:

0 0 3 2 0
0 5 3 0 0
6 0 0 1 0
0 1 7 0 0

第二层地图为:

0 9 0 0 0
0 5 0 0 0
0 0 0 0 0
1 0 0 2 0

Author

Source

杭州师范大学第十一届程序设计竞赛

思路:从第一层左下角一直到h层右上角,沿途可以获得的最大值。

题解:首先要保证时间最短,所以前进的方向只有向上,向北和向东。其次,获得最大值需要用到动态dp。

 #include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
using namespace std;
long long int n,m,h,i,j,k,a,b,c;
long long int p[][][]; //数据大,所以开long long
long long int dp[][][];
long long int max(long long int a,long long int b,long long int c)
{
return max(a,max(b,c));
}
int main()
{
while(scanf("%lld %lld %lld",&n,&m,&h)!=EOF)
{
memset(dp,,sizeof(dp));
for(i=;i<h;i++)
{
for(j=;j<n;j++)
{
for(k=;k<m;k++)
{
scanf("%lld",&dp[i][j][k]); //输入地图
}
}
}
for(i=;i<h;i++)
{
for(j=n-;j>=;j--)
{
for(k=;k<m;k++)
{ dp[i][j][k]+=max(dp[i-][j][k],dp[i][j+][k],dp[i][j][k-]); //最关键的一行,dp原来三种状态
/*for(a=0;a<h;a++)
{
for(b=0;b<n;b++)
{
for(c=0;c<m;c++)
{
printf("%lld ",dp[a][b][c]); //输出此时状态,用来检验
}
printf("\n");
}
}
printf("------------------------------------------\n");
*/
}
}
}
printf("%lld\n",dp[i-][][k-]); //输出到达亚斯娜所在地
}
return ;
}

与班尼特·胡迪一起攻破浮空城 (HZNU-2264)的更多相关文章

  1. HZNU 与班尼特·胡迪一起攻破浮空城 【DP】

    题目链接 http://acm.hznu.edu.cn/OJ/problem.php?id=2264 思路 从终点往起点走 然后每次更新状态 因为要满足 最短路线 所以其实 只能是 往左走,往下走 或 ...

  2. 与班尼特·胡迪一起做生意 (HZUN-2261)

    与班尼特·胡迪一起做生意 AC Time Limit:  1 s      Memory Limit:   256 MB Description 马爷作为2-80X的资深土财主,靠着敏锐的商业嗅觉不断 ...

  3. 与班尼特·胡迪一起拿奖学金(HZNU-2273)

    与班尼特·胡迪一起拿奖学金 AC Time Limit:  2 s      Memory Limit:   256 MB Description 班尼特·胡迪这学期的体测终于上80分了,当期末考试的 ...

  4. 与班尼特·胡迪一起找简单规律(HZOJ-2262)

    与班尼特·胡迪一起找简单规律 Time Limit:  1 s      Memory Limit:   256 MB Description 班尼特·胡迪发现了一个简单规律 给定一个数列,1 , 1 ...

  5. 班尼特·A·麦克道尔 - 一个交易者的资金管理系统(2013年5月26日)

    <一个交易者的资金管理系统:如何确保利润并避免破产风险> 作 者:班尼特·A·麦克道尔 系 列:“引领时代”金融投资系列-世界交易经典译丛 出 版:万卷出版公司 字 数:155千字 阅读完 ...

  6. 2000G电脑大型单机游戏合集

    激活码 游戏名称(ctrl+F查找) 下载链接005875 艾迪芬奇的记忆 游戏下载链接http://pan.baidu.com/s/1t2PYRAj546_1AcOB-khJZg554158 暗影: ...

  7. 2013级软件工程GitHub账号信息

    GitHub账号信息 序号 班级 学号 姓名 个人GitHub网址 1 信1301-1班 20122951 刘伟 https://github.com/weige8882 2 信1301-1班 201 ...

  8. 大数据之路week07--day06 (Sqoop 的使用)

    Sqoop的使用一(将数据库中的表数据上传到HDFS) 首先我们先准备数据 1.没有主键的数据(下面介绍有主键和没有主键的使用区别) -- MySQL dump 10.13 Distrib 5.1.7 ...

  9. 【Unity原神AR开发实战 2022】下载原神模型,PMX转FBX,导入到Unity,AR设置,测试应用程序,生成应用程序

    文章目录 一.前言 二.模型下载 1.官网下载 2.模之屋官方下载 3.第三方链接 三.pmx转fbx 1.Blender插件CATS的下载与安装 2.pmx模型的导入 四.Unity开发部分 1.V ...

随机推荐

  1. Cocos2D:塔防游戏制作之旅(二)

    一个象牙塔的视图 如果你并不熟悉此类型的游戏,塔防游戏是一个战略游戏,你需要购买和将武装塔放置在战略位置,去阻止一波又一波的敌人到达并摧毁你的基地 每一波敌人都更强,这些更强的对手有着更快的速度和对于 ...

  2. 从JDK源码角度看线程池原理

    "池"技术对我们来说是非常熟悉的一个概念,它的引入是为了在某些场景下提高系统某些关键节点性能,最典型的例子就是数据库连接池,JDBC是一种服务供应接口(SPI),具体的数据库连接实 ...

  3. Socket层实现系列 — 信号驱动的异步等待

    主要内容:Socket的异步通知机制. 内核版本:3.15.2 我的博客:http://blog.csdn.net/zhangskd 概述 socket上定义了几个IO事件:状态改变事件.有数据可读事 ...

  4. javascript之DOM编程增加附件

    在开始这个案例之前,需要学习一下有关于根据子关系节点获取标签的几个方法.罗列如下 /*通过关系(父子关系.兄弟关系)找标签.parentNode 获取当前元素的父节点.childNodes 获取当前元 ...

  5. 【Mac】Mac OS X 安装GNU命令行工具

    macos的很多用户都是做it相关的人,类unix系统带来了很多方面,尤其是经常和linux打交道的人. 但是作为经常使用linux 命令行的人发现macos中的命令行工具很多都是bsd工具,跟lin ...

  6. Java最最常用的100个类排序(非官方)

    下面这句话是引用"大部分的 Java 软件开发都会使用到各种不同的库.近日我们从一万个开源的 Java 项目中进行分析,从中提取出最常用的 Java 类,这些类有来自于 Java 的标准库, ...

  7. Android scrollview嵌套webview滑动冲突的解决方案

    在Android开发中有时我们需要在scrollview中嵌套webview这时你会发现这两者的滑动事件产生了冲突导致:webview很难被滑动,即使被滑动了一点也非常不顺畅.解决方案也比较简单只需要 ...

  8. Rust语言之HelloWorld Web版

    Rust语言之HelloWorld Web版 下面这篇文章值得仔细研读: http://arthurtw.github.io/2014/12/21/rust-anti-sloppy-programmi ...

  9. 开源视频监控系统:iSpy

    iSpy是一个开源的视频监控软件,目前已经支持中文.自己用了一下,感觉还是很好用的.翻译了一下它的介绍. iSpy将PC变成一个完整的安全和监控系统 iSpy使用您的摄像头和麦克风来检测和记录声音或运 ...

  10. (NO.00001)iOS游戏SpeedBoy Lite成形记(一)

    这是本猫第一个原创iOS游戏,留此为证!看编号貌似要写9万多个,千锤百炼还是太少吧!? ;) 这是一个赛跑游戏,几位选手从起点跑到终点看谁用的时间最少.现在需要实现的功能是: 1.8位选手从起点移动至 ...