百度之星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。
每组测试数据输出一行,输出一个整数,代表根据最优的打法,你走到右上角时可以获得的最大金币数目。
1 #include <cstdio> 2 #include <cstring> 3 #define max(x,y) (x >= y ? x : y) 4 #define MAX 102 5 #define INF (1<<30) 6 using namespace std; 7 8 int c[MAX][MAX]; 9 int dp[MAX][MAX]; /* 0 :left 1:behind 2 : right*/ 10 int ldp[MAX][MAX],rdp[MAX][MAX]; 11 int n,m; 12 13 void reset(){ 14 memset(dp,0,sizeof(dp)); 15 for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) dp[i][j] = dp[i][j] = dp[i][j] = -INF; 16 } 17 18 int main() 19 { 20 int t; 21 //freopen("data.txt","r",stdin); 22 scanf("%d",&t); 23 for(int z=1;z<=t;z++){ 24 scanf("%d %d",&m,&n); 25 memset(c,0,sizeof(c)); 26 reset(); 27 memcpy(ldp,dp,sizeof(dp)); 28 memcpy(rdp,dp,sizeof(dp)); 29 for(int j=1;j<=m;j++) for(int i=1;i<=n;i++) scanf("%d",&c[i][j]); 30 dp[1][1] = dp[1][1] = dp[1][1] = c[1][1]; 31 for(int j=1;j<=m;j++) dp[1][j] = dp[1][j-1]+c[1][j]; 32 for(int i=2;i<=n;i++){ 33 for(int j=1;j<=m;j++){ 34 dp[i][j] = dp[i-1][j] + c[i][j]; 35 } 36 ldp[i][1] = dp[i][1]; 37 for(int j=2;j<=m;j++){ 38 ldp[i][j] = max(ldp[i][j] , max(dp[i][j] , ldp[i][j-1]+c[i][j]) ); 39 } 40 rdp[i][m] = dp[i][m]; 41 for(int j=m-1;j>=1;j--){ 42 rdp[i][j] = max(rdp[i][j] , max(dp[i][j] , rdp[i][j+1]+c[i][j])); 43 } 44 45 for(int j=1;j<=m;j++) dp[i][j] = max(dp[i][j] , max(ldp[i][j] , rdp[i][j])); 46 } 47 printf("Case #%d:\n%d\n",z,dp[n][1]); 48 } 49 return 0; 50 }
1004
转载于:https://www.cnblogs.com/sineatos/p/3737481.html
百度之星2014资格赛 1004 - Labyrinth相关推荐
- 【百度之星2014~初赛(第二轮)解题报告】JZP Set
声明 笔者近期意外的发现 笔者的个人站点 http://tiankonguse.com/ 的非常多文章被其他站点转载,可是转载时未声明文章来源或參考自 http://tiankonguse.com/ ...
- 百度之星2014-2016资格赛试题及解答
2016年百度之星资格赛试题 原文链接:http://blog.csdn.net/jklongint/article/details/51415402 另一篇相关链接:http://www.cnblo ...
- 百度之星2018资格赛游记
刷化学物理英语之余,打百度之星以怡情. 但是在做最简单的1002时,以为英语字母有24个,成功RE五次. 花了2小时调试.......
- 百度之星 2018 资格赛 T1
老年人打一下百度之星. A一题就行了- 很明显就是个状压DP- #include <cstring> #include <iostream> #include <cstd ...
- 2014年百度之星程序设计大赛 - 资格赛 1004 Labyrinth(Dp)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/sr19930829/article/details/26003869 Labyrinth Time ...
- 度度熊与邪恶大魔王 (百度之星之资格赛)
度度熊为了拯救可爱的公主,于是与邪恶大魔王战斗起来. 邪恶大魔王的麾下有n个怪兽,每个怪兽有a[i]的生命值,以及b[i]的防御力. 度度熊一共拥有m种攻击方式,第i种攻击方式,需要消耗k[i]的 ...
- 百度之星2018资格赛t6三原色图(MST minimum spanning tree)
ac代码: #include<bits/stdc++.h> #define per(i,a,b) for(int i=a;i<=b;i++) using namespace std; ...
- bestCoder 百度之星程序设计资格赛 1005下棋
下棋 Accepts: 345 Submissions: 2382 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K ...
- 百度之星2017资格赛1003 度度熊与邪恶大魔王
Problem Description 度度熊为了拯救可爱的公主,于是与邪恶大魔王战斗起来. 邪恶大魔王的麾下有n个怪兽,每个怪兽有a[i]的生命值,以及b[i]的防御力. 度度熊一共拥有m种攻击方式 ...
最新文章
- php基础 简书,php基础
- 通信系统之信道(二)
- android愤怒小鸟游戏、自定义View、掌上餐厅App、OpenGL自定义气泡、抖音电影滤镜效果等源码...
- C#实现二叉树--二叉链表结构
- 万兆网卡实际吞吐量_案例探索 | 千兆/万兆网卡每秒转发包数处理能力上限到底有多大?...
- js如何监听元素事件是否被移除_js 监听事件的叠加和移除 -
- leaflet自定标签json_Windows Terminal更新后,自定义配置失效?快捷键无法使用?
- 要把AI建在赤道上的华为,为何用全栈全场景方案打响第一枪
- BitTorrent协议与MagNet协议原理
- spacy存在内存泄露问题
- 看了这篇c语言结构体精讲解,你难道还怕你不会吗?
- IEnumerable 和 IEnumerator
- 冲刺七天----03
- Java中的静态方法、类方法、成员方法、构造方法、非静态方法,各方法的定义以及个方法的功能详解大全
- java计算机毕业设计大数据在线考试系统在线阅卷系统及大数据统计分析MyBatis+系统+LW文档+源码+调试部署
- Cadence Allegro 鼠标轨迹快捷键的设置图文教程及视频演示
- 基于英飞凌TLE8242-2L的开关/比例电磁阀驱动电路
- 在双曲空间进行细粒度实体分类
- python linux上屏幕截图_在Linux上通过Python脚本拍摄屏幕截图
- python傻瓜瓜入门
热门文章
- MySQL5.7.11免安装版的安装和配置以及解决MYSQL服务无法启动问题
- html引入php文件中的函数,在b2core框架和simple_html_dom.php文件里面都有一个load()函数...
- 英伟达验证图片加载不出来_让大卫雕塑跳舞、蒙娜丽莎说话,英伟达视频合成有如此多「骚操作」...
- 星型模型 3nf的区别_贵州省遵义市工业模型经典案例展示
- oracle字符串转in方法,Oracle 逗号分割的字符串转换为可放入in的语句
- 18、计算机图形学——BRDF与渲染方程
- MFC创建属性页详细步骤与注意事项
- html选择器_HTML的id选择器类选择器
- flutter识别html标签,Flutter:获取HTML页面的某些元素
- 基于spring boot调用接口的工具类