百度之星2014资格赛 1004 - Labyrinth
先上题目:
Labyrinth
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2911 Accepted Submission(s): 1007
每组数据的第一行输入两个正整数m,n(m<=100,n<=100)。接下来的m行,每行n个整数,分别代表相应格子中能得到金币的数量,每个整数都大于等于-100且小于等于100。
每组测试数据输出一行,输出一个整数,代表根据最优的打法,你走到右上角时可以获得的最大金币数目。
18
4
#include <cstdio>
#include <cstring>
#define max(x,y) (x >= y ? x : y)
#define MAX 102
#define INF (1<<30)
using namespace std; int c[MAX][MAX];
int dp[MAX][MAX]; /* 0 :left 1:behind 2 : right*/
int ldp[MAX][MAX],rdp[MAX][MAX];
int n,m; void reset(){
memset(dp,,sizeof(dp));
for(int i=;i<=n;i++) for(int j=;j<=m;j++) dp[i][j] = dp[i][j] = dp[i][j] = -INF;
} int main()
{
int t;
//freopen("data.txt","r",stdin);
scanf("%d",&t);
for(int z=;z<=t;z++){
scanf("%d %d",&m,&n);
memset(c,,sizeof(c));
reset();
memcpy(ldp,dp,sizeof(dp));
memcpy(rdp,dp,sizeof(dp));
for(int j=;j<=m;j++) for(int i=;i<=n;i++) scanf("%d",&c[i][j]);
dp[][] = dp[][] = dp[][] = c[][];
for(int j=;j<=m;j++) dp[][j] = dp[][j-]+c[][j];
for(int i=;i<=n;i++){
for(int j=;j<=m;j++){
dp[i][j] = dp[i-][j] + c[i][j];
}
ldp[i][] = dp[i][];
for(int j=;j<=m;j++){
ldp[i][j] = max(ldp[i][j] , max(dp[i][j] , ldp[i][j-]+c[i][j]) );
}
rdp[i][m] = dp[i][m];
for(int j=m-;j>=;j--){
rdp[i][j] = max(rdp[i][j] , max(dp[i][j] , rdp[i][j+]+c[i][j]));
} for(int j=;j<=m;j++) dp[i][j] = max(dp[i][j] , max(ldp[i][j] , rdp[i][j]));
}
printf("Case #%d:\n%d\n",z,dp[n][]);
}
return ;
}
1004
百度之星2014资格赛 1004 - Labyrinth的更多相关文章
- [百度之星2014资格赛] Disk Schedule 报告
Disk Schedule Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) To ...
- 百度之星2014资格赛 1003 - Xor Sum
先上代码: Xor Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Others)T ...
- 【百度之星2014~初赛(第二轮)解题报告】Chess
声明 笔者近期意外的发现 笔者的个人站点http://tiankonguse.com/ 的非常多文章被其他站点转载.可是转载时未声明文章来源或參考自 http://tiankonguse.com/ 站 ...
- 【百度之星2014~初赛(第二轮)解题报告】JZP Set
声明 笔者近期意外的发现 笔者的个人站点http://tiankonguse.com/ 的非常多文章被其他站点转载,可是转载时未声明文章来源或參考自 http://tiankonguse.com/ 站 ...
- 【百度之星2014~复赛 解题报告~正解】The Query on the Tree
声明 笔者最近意外的发现 笔者的个人网站http://tiankonguse.com/ 的很多文章被其它网站转载,但是转载时未声明文章来源或参考自 http://tiankonguse.com/ 网站 ...
- 【百度之星2014~复赛)解题报告】The Query on the Tree
声明 笔者最近意外的发现 笔者的个人网站http://tiankonguse.com/ 的很多文章被其它网站转载,但是转载时未声明文章来源或参考自 http://tiankonguse.com/ 网站 ...
- 百度之星2014复赛 - 1002 - The Query on the Tree
先上题目: The Query on the Tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (J ...
- 百度之星2014复赛 - 1001 - Find Numbers
先上题目: Find Numbers Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- 2014百度之星资格赛 1004:Labyrinth(DP)
Labyrinth Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
随机推荐
- C++ Web 编程(菜鸟教程)
C++ Web 编程(菜鸟教程) C++ Web 编程 什么是 CGI? 公共网关接口(CGI),是一套标准,定义了信息是如何在 Web 服务器和客户端脚本之间进行交换的. CGI 规范目前是由 NC ...
- bzoj4197 [Noi2015]寿司晚宴——状压DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4197 首先,两个人选的数都互质可以看作是一个人选了一个数,就相当于选了一个质因数集合,另一个 ...
- HTTP服务端JSON服务端
HTTP服务端JSON服务端 最后更新日期: 2014-5-18 Author: Kagula 阅读前提: CMake工具的基本使用 内容简介: CPPCMS是个开源Web开发框架,通过它可以很容易 ...
- BZOJ 1914 计算几何
思路: 我们可以算不合法的 如果三个点都在同一侧 就不合法.. 用总方案数减掉就可以了 (有神奇的实现方法...) //By SiriusRen #include <cmath> #inc ...
- wcf 错误:无法加载或初始化请求的服务提供程序
解决办法:cmd netsh winsock reset 恢复网络编程接口
- 生成jsp验证码的代码详解(servlet版)
package util; import java.util.*; import java.io.*; import java.awt.*; import java.awt.image.*; impo ...
- backface-visibility当元素不面向屏幕时是否可见
html代码 <h1>div1可见</h1> <div class="div1">div---1</div> <h1>d ...
- js-var变量作用域
看代码: var a=10; function fn1(){ alert(a); var a=20; alert(a); } 运行结果:undefined 和 20 注意: 在函数内,变量如没用var ...
- Eclipse之向前快进,向后快退
在已经写好的代码上进行修改,存在代码快需要向前快进,向后快退的情况. 选中代码块,然后右击,有Shift Right, Shift Left
- WebForm 登陆test
<script> window.onload = function () { document.getElementById("form1").onsubmit = f ...