1484: 探 寻 宝 藏

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 94  Solved: 52

SubmitStatusWeb Board

Description

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

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

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

Input

第一行: 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)

所有数据都是整数。 数据之间有一个空格。

Output

对于每组测试数据,输出一行:机器人卡多携带出最多价值的宝物数

Sample Input

2
2 3
0 10 10
10 10 80
3 3
0 3 9
2 8 5
5 7 100

Sample Output

120
134
 
md这几道都是一个模板

#include<bits/stdc++.h>
using namespace std;
#define Max(a,b,c,d) max(max(a,b),max(c,d))
#define ql(a) memset(a,0,sizeof(a))
#define CIN(a) scanf("%d",&a)
int dp[105][61][61];
int e[61][61];
int main()
{
int x1,y1,x2,y2;
int n,m,i,j,k,t;
//cin>>t;
CIN(t);
while(t--){ql(e),ql(dp);
cin>>n>>m;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j) CIN(e[i][j]);
for(k=1;k<n+m-2;++k)
for(x1=1;x1<=n;++x1)
for(x2=1;x2<=n;++x2)
if(x1==x2||k+2-x1<0||k+2-x2<0||k+2-x1>m||k+2-x2>m) continue;
else{
dp[k][x1][x2]=Max(dp[k-1][x1][x2],dp[k-1][x1][x2-1],dp[k-1][x1-1][x2],dp[k-1][x1-1][x2-1])
+e[x1][k+2-x1]+e[x2][k+2-x2];

}
printf("%d\n",max(dp[k-1][n-1][n],dp[k-1][n][n-1])+e[n][m]);
}
return 0;
}

贴四重暴力便于理解DP过程

#include<bits/stdc++.h>
using namespace std;
int dp[51][51][51][51];
int e[51][51];
int main()
{
int t,n,m,i,j,k;
cin>>t;
while(t--){memset(dp,0,sizeof(dp));
cin>>n>>m;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j) cin>>e[i][j];
int x1,y1,x2,y2;
for(x1=1;x1<=n;++x1)
for(y1=1;y1<=m;++y1)
for(x2=1;x2<=n;++x2)
for(y2=1;y2<=m;++y2)
if(x1==x2&&y1==y2) continue;                       //两个点不能重合
else {
dp[x1][y1][x2][y2]=max(max(dp[x1][y1-1][x2][y2-1],dp[x1][y1-1][x2-1][y2]),
max(dp[x1-1][y1][x2][y2-1],dp[x1-1][y1][x2-1][y2]))+e[x1][y1]+e[x2][y2];
}
cout<<max(dp[n-1][m][n][m-1],dp[n][m-1][n-1][m])+e[n][m]<<endl;
}
return 0;
}

由于两个点不能重合所以dp[n][m][n][m]的值显然计算不出来,

所以根据(n-1,m)(n,m-1)这两个点选择出一条最优路径的值再加上e[n][m]即可!

zzuli 1484 继续双线的更多相关文章

  1. ubuntu 双线双网卡双IP实现方式

    昨天金桥机房上架了一台多玩的测试机,系统是ubuntu9.04 X64的系统,母机IBM X336机器.用户需求是双线,故采用一个网卡配置电信地址,另一个网卡配置联通地址,安装好系统后配置好IP发现联 ...

  2. Linux 双线策略路由的三种实现方式总结+端口映射

    Linux 双线策略路由的三种实现方式总结+端口映射 Linux 双线策略路由的三种实现方式总结+端口映射 网络环境 服务器(网关): eth0 为LAN口,IP为 LAN_IP = 192.168. ...

  3. 什么是双线双IP,什么叫双线双IP

    双线双IP实现双线路,拥有中国电信.中国网通骨干网的接入,在该机房托管的服务器,实现了电信和网通的双线路接入,使电信和网通的用户都能以非常快的速度连接到服务器,解决了电信和网通互相访问速度慢的问题.这 ...

  4. UVA 1484 - Alice and Bob&#39;s Trip(树形DP)

    题目链接:1484 - Alice and Bob's Trip 题意:BOB和ALICE这对狗男女在一颗树上走,BOB先走,BOB要尽量使得总路径权和大,ALICE要小,可是有个条件,就是路径权值总 ...

  5. DNS加速之“智能DNS”跟“双线加速”、“CDN加速”的区别

    “智能DNS”跟“双线加速”.“CDN加速”的区别相信,很大部分IDC用户可能还没弄清楚状况,有人觉得智能DNS跟双线加速.CDN加速是类似的技术.其实不然,它们在工作方式上有着本质的区别,但它们又可 ...

  6. 【HDOJ】1484 Basic wall maze

    BFS. /* 1484 */ #include <iostream> #include <queue> #include <string> #include &l ...

  7. CDN和双线机房相比有何优势

    1.什么类型的网站最需要CDN? 适合目标客户覆盖全国范围的网站,不论是南方电信.还是北方网通用户.铁通用户,均要求能快速访问到客户网站,彻底解决电信.网通之间的互访瓶颈. 另外国外的网站,如果需要提 ...

  8. 双线服务器和CDN的区别

    双线机房是在国内这样特殊的网络环境下特有的产物,双线机房只能解决网通和电信访问瓶颈的问题,网络传输中的链路问题和其它各ISP互通问题还是没有得到解决. CDN的原理是边缘访问,访问者就近取数据,这样大 ...

  9. BGP多线单IP技术实现形式以及其他双线对比

    自从电信与网通分离之后,北方网通与南方电信网络的互联瓶颈问题一直没有得到很好的解决,这个问题也严重困扰广大的ICP服务商.ICP也只能根据自己网站主流用户群是在南方还是在北方,服务重点是在南方还是北方 ...

随机推荐

  1. 出现“基础链接已关闭,无法链接到远程服务器"错误的解决办法

    一些用户在安装一些软件或是系统做某些修改后,采集器就没无登录或是无法获取到网页.登录或是使用httppostget工具会出现 ”基础链接已关闭,无法链接到远程服务器“的提示.经分析,是系统Socket ...

  2. mp4v2 基本知识

    mp4v2 和mp4的一些基础知识 由于项目需要做mp4文件的合成(264+aac)和mp4文件的解析: MP4文件本身就是一个容器,对于视频来说就是把不同的内容放按照mp4的规则存放而已: 如果完全 ...

  3. 实用的4~20mA输入/0~5V输出的I/V转换电路(转)

    源: 实用的4~20mA输入/0~5V输出的I/V转换电路

  4. 安装OpenOffice

    附件: OpenOffice 1.下载解压 tar -zxvf Apache_OpenOffice_4.1.3_Linux_x86-64_install-rpm_zh-CN.tar.gz 2.安装 / ...

  5. C语言程序设计实习报告

    C语言程序设计实习报告 简介 语言实践心得体会范文在科技高度发展的今天,计算机在人们之中的作用越来越突出.而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此, ...

  6. myeclipse中文名字项目运行报错

    今天由于项目进行分支,负责开发迭代的功能对应不同的分支项目,没想到的是分支项目名称加上了功能的中文名字.要使用了resin发布项目的时候,报了 java.io.CharConversionExcept ...

  7. Windows下卸载软件时提示 等待先前的卸载完成? 终止 dllhost.exe 进程

    只要结束进程中的 "dllhost" 进程就好了. 估计原因是, 当卸载某些 "所谓的"较大型的软件的时候, 要去更新, 更改系统对dll链接库的注册, 更新. ...

  8. sql 锁

    数据库中不使用锁时可能出现的问题: 1.更新丢失(Lost update) 两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修改都失效了.这是因为系统没有执行任何的锁操作,因 ...

  9. 自动化测试框架Cucumber和RobotFramework的实战对比

    转自: http://www.infoq.com/cn/articles/cucumber-robotframework-comparison   一.摘要 自动化测试可以快速自动完成大量测试用例,节 ...

  10. HDU 4587 TWO NODES(割两个点的最大连通分支数)

    http://acm.hdu.edu.cn/showproblem.php?pid=4587 题意: 给一图,求割去两个点后所能形成的最大连通分支数. 思路: 对于这种情况,第一个只能枚举,然后在删除 ...