探 寻 宝 藏

时间限制:1000 ms  |  内存限制:65535 KB
难度:5
描述

传说HMH大沙漠中有一个M*N迷宫,里面藏有许多宝物。某天,Dr.Kong找到了迷宫的地图,他发现迷宫内处处有宝物,最珍贵的宝物就藏在右下角,迷宫的进出口在左上角。当然,迷宫中的通路不是平坦的,到处都是陷阱。Dr.Kong决定让他的机器人卡多去探险。

但机器人卡多从左上角走到右下角时,只会向下走或者向右走。从右下角往回走到左上角时,只会向上走或者向左走,而且卡多不走回头路。(即:一个点最多经过一次)。当然卡多顺手也拿走沿路的每个宝物。

Dr.Kong希望他的机器人卡多尽量多地带出宝物。请你编写程序,帮助Dr.Kong计算一下,卡多最多能带出多少宝物。

输入
第一行: K 表示有多少组测试数据。 
接下来对每组测试数据:
第1行: M N
第2~M+1行: Ai1 Ai2 ……AiN (i=1,…..,m)

【约束条件】
2≤k≤5 1≤M, N≤50 0≤Aij≤100 (i=1,….,M; j=1,…,N)
所有数据都是整数。 数据之间有一个空格。

输出
对于每组测试数据,输出一行:机器人卡多携带出最多价值的宝物数
样例输入
2
2 3
0 10 10
10 10 80
3 3
0 3 9
2 8 5
5 7 100
样例输出
120
134
双线程动态规划!
利用四维数组求解!
AC码:
#include<stdio.h>
#include<string.h>
int num[55][55],dp[55][55][55][55];
int max(int a,int b)
{return a>b?a:b;
}
int main()
{int T,m,n,i,j,p,q,result;scanf("%d",&T);while(T--){scanf("%d%d",&m,&n);memset(dp,0,sizeof(dp));for(i=1;i<=m;i++){for(j=1;j<=n;j++){scanf("%d",&num[i][j]);}}for(i=1;i<=m;i++){for(j=1;j<=n;j++){for(p=i+1;p<=m;p++){q=i+j-p;if(q<=0)break;dp[i][j][p][q]=max(max(dp[i-1][j][p-1][q],dp[i][j-1][p][q-1]),max(dp[i-1][j][p][q-1],dp[i][j-1][p-1][q]));dp[i][j][p][q]=dp[i][j][p][q]+num[i][j]+num[p][q];}}}result=max(max(dp[m-1][n][m-1][n],dp[m][n-1][m][n-1]),max(dp[m-1][n][m][n-1],dp[m][n-1][m-1][n]));printf("%d\n",result+num[m][n]);}return 0;
}

nyoj 712 探寻宝藏相关推荐

  1. NYOJ-712(动态规划)-题目----------------------------- 探寻宝藏

    /*探寻宝藏时间限制:1000 ms | 内存限制:65535 KB描述传说HMH大沙漠中有一个M*N迷宫,里面藏有许多宝物.某天,Dr.Kong找到了迷宫的地图,他发现迷宫内处处有宝物,最珍贵的宝物 ...

  2. nyoj 61 传纸条(一) (双线动归)nyoj 探寻宝藏

    传纸条(一) 时间限制:2000 ms  |  内存限制:65535 KB 难度:5 描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列 ...

  3. 探寻宝藏可视化c++

    题目要求 传说HMH大沙漠中有一个M*N迷宫,里面藏有许多宝物.某天,Dr.Kong找到了迷宫的地图,他发现迷宫内处处有宝物,最珍贵的宝物就藏在右下角,迷宫的进出口在左上角.当然,迷宫中的通路不是平坦 ...

  4. 探寻宝藏---双向dp

    题目描述 传说HMH大沙漠中有一个M*N迷宫,里面藏有许多宝物.某天,Dr.Kong找到了迷宫的地图,他发现迷宫内处处有宝物,最珍贵的宝物就藏在右下角,迷宫的进出口在左上角.当然,迷宫中的通路不是平坦 ...

  5. 探寻宝藏-双进程DP(优化版)

    题目 传说HMH大沙漠中有一个M*N迷宫,里面藏有许多宝物.某天,Dr.Kong找到了迷宫的地图,他发现迷宫内处处有宝物,最珍贵的宝物就藏在右下角,迷宫的进出口在左上角.当然,迷宫中的通路不是平坦的, ...

  6. 探寻宝藏 【算法设计与分析课设】 c语言代码 + 思路详解 + 三维优化

    目录 1.题目 2.思路1 3.代码1 4.思路2 5.代码2 1.题目 传说HMH大沙漠中有一个M*N迷宫,里面藏有许多宝物.某天,Dr.Kong找到了迷宫的地图,他发现迷宫内处处有宝物,最珍贵的宝 ...

  7. NYOJ 61 传纸条(一)

    传纸条(一) 时间限制:2000 ms  |  内存限制:65535 KB 难度:5 描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列 ...

  8. 转给身边工程师:环形穿梭车控制系统设计细节来了!

    导语 大家好,我是智能仓储物流技术研习社的社长,老K.穿梭车在自动化仓储系统中有大量的应用案例,其中尤其以环形穿梭车的复杂程度为最.今天来给大家分享一则环形穿梭车控制系统的项目实例. 查看全文 htt ...

  9. ZZULIOJ周赛 问题 B: 探险家 动态规划

    文章目录 ZZULIOJ周赛 问题 B: 探险家 动态规划 问题 代码 总结 ZZULIOJ周赛 问题 B: 探险家 动态规划 问题 问题 B: 探险家 时间限制: 1 Sec 内存限制: 128 M ...

最新文章

  1. ajax请求中的reponseType和withCredetials分别是啥?
  2. ASP.NET MVC Html.ActionLink使用说明
  3. python全栈 day09随笔
  4. 批量单变量求解 office wps 单变量求解比较
  5. zend framework mysql_Zend Framework连接Mysql数据库实例分析
  6. RCNN系列实验的PASCAL VOC数据集格式设置
  7. android baseactivity,Android应用开发Android通过BaseActivity获取到当前启动的Activity名称...
  8. js 跳转传递汉字参数
  9. 教你使用squid搭配dante做代理
  10. Ubuntu无法进入操作系统的恢复和备份操作
  11. 微信公众号运营推广基础入门知识
  12. 如何破解域管理员密码
  13. 单体架构、SOA架构、微服务架构的优点缺点以及区别联系
  14. app兼容性测试方案
  15. UTC世界协调时间和BJT北京时间的转换
  16. 注意BeanPostProcessor启动时对依赖Bean的“误伤”陷阱(is not eligible for getting processed by all...)
  17. c语言产生式系统动物识别系统,简单动物识别系统的知识表示实验报告
  18. Linux中升级GLIBC,终结版,测试通过
  19. CC2640R2F BLE5.0 蓝牙协议栈GATTServApp模块
  20. 免费Excel自动化转云端OA/ERP/CRM等办公系统数据管理软件工具

热门文章

  1. java excel上传--poi
  2. 快速解决正则----模糊匹配、字符类、量词
  3. Android及java中list循环添加时覆盖的问题-20171021
  4. JVM性能调优监控工具专题二:VisualVM基本篇之监控JVM内存,CPU,线程
  5. 《Ansible权威指南》一1.7 Ansible的安装部署
  6. 微信url schema,deep link
  7. 实战部署MySQL用户认证的Postfix邮件系统(3)
  8. oracle的connect by语句
  9. promise is promose
  10. Discovery Session