HDU 2571 命运
命运
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 8488 Accepted Submission(s):
2991
可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个机关。要知道,不论何人,若在迷宫中被困1小时以上,则必死无疑!
可怜的yifenfei为了去救MM,义无返顾地跳进了迷宫。让我们一起帮帮执着的他吧!
命运大迷宫可以看成是一个两维的方格阵列,如下图所示:

yifenfei一开始在左上角,目的当然是到达右下角的大魔王所在地。迷宫的每一个格子都受到幸运女神眷恋或者痛苦魔王的诅咒,所以每个格子都对应一个值,走到那里便自动得到了对应的值。
现在规定yifenfei只能向右或者向下走,向下一次只能走一格。但是如果向右走,则每次可以走一格或者走到该行的列数是当前所在列数倍数的格子,即:如果当前格子是(x,y),下一步可以是(x+1,y),(x,y+1)或者(x,y*k)
其中k>1。
为了能够最大把握的消灭魔王lemon,yifenfei希望能够在这个命运大迷宫中得到最大的幸运值。

每组测试数据的第一行是两个整数n,m,分别表示行数和列数(1<=n<=20,10<=m<=1000);
接着是n行数据,每行包含m个整数,表示n行m列的格子对应的幸运值K
( |k|<100 )。
#include <iostream>
#include <cstdio>
using namespace std;
#define minn -1000
int n, m;
int dp[][];
int K[][];
int max(int a,int b)
{
return a>b?a:b;
}
void solve()
{
int i, j, k, maxx;
for(i=; i<=n; i++)
dp[i][] = minn;
for(j=; j<=m; j++)
dp[][j] = minn;
for(i=; i<=n; i++)
{
for(j=; j<=m; j++)
{
maxx = minn;
for(k=; k<j; k++)
if(j%k== || j-k==)
maxx = max(maxx,dp[i][k]);
if(i== && j==)
dp[i][j] = K[i][j];
else
dp[i][j] = K[i][j]+max(dp[i-][j],maxx);
}
}
} int main()
{
int C, i, j;
scanf("%d",&C);
while(C--)
{
scanf("%d%d",&n,&m);
for(i=; i<=n; i++)
for(j=; j<=m; j++)
scanf("%d",&K[i][j]);
solve();
printf("%d\n",dp[n][m]);
}
return ;
}
HDU 2571 命运的更多相关文章
- HDU 2571 命运 (DP)
命运 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Pr ...
- HDU 2571 命运 动态规划
命运 http://acm.hdu.edu.cn/showproblem.php?pid=2571 Problem Description 穿过幽谷意味着离大魔王lemon已经无限接近了!可谁能想到, ...
- hdu 2571 (命运) 那个配图女神
http://acm.hdu.edu.cn/showproblem.php?pid=2571 枚举每一个点,找出按照题目要求的这个点的上一点的最大值,合并到当前点,注意只取前面的一种情况 #inclu ...
- hdu 2571 命运(dp)
Problem Description 穿过幽谷意味着离大魔王lemon已经无限接近了! 可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个 ...
- HDU 2571 命运 (简单DP)
命运 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- HDU - 2571 命运 DP倍数跳跃处理
命运 穿过幽谷意味着离大魔王lemon已经无限接近了! 可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个机关.要知道,不论何人,若在迷宫中 ...
- hdu 2571 命运(递推,请小心)
题目 //不能广搜,会超内存//可以用dp思想模拟//map 后来保存的是 保存由前面推来的最大的幸运总值的点//下标从1开始,不然倍数会有问题 //AC 代码: AC代码 //不能广搜,会超内存 / ...
- HDU 2571 命运(简单dp)
传送门 真是刷越多题,越容易满足.算是一道很简单的DP了.终于可以自己写出来了. 二维矩阵每个点都有一个幸运值,要求从左上走到右下最多能积累多少幸运值. 重点就是左上右下必须都踩到. dp[i][j] ...
- HDU 2571 命运 (入门dp)
题目链接 题意:二维矩阵,左上角为起点,右下角为终点,如果当前格子是(x,y),下一步可以是(x+1,y),(x,y+1)或者(x,y*k) ,其中k>1.问最大路径和. 题解:入门dp,注意负 ...
随机推荐
- Socket 与 WebSocket
本文转载自:http://zengrong.net/post/2199.htm 1. 概述 选择了 WebSocket 技术之后,不可避免的,我要将它和其他协议以及技术做一下比较.最常见的,就是需要比 ...
- 基于 Node.js 平台,快速、开放、极简的 web 开发框架。
资料地址:http://www.expressjs.com.cn/ Express 基于 Node.js 平台,快速.开放.极简的 web 开发框架. $ npm install express -- ...
- Linux_几个常用的命令
一.基本命令 查看当前路径:pwd 切换文件夹:cd 查看当前用户: who/whoami 取文件前3行:head -3 文件 取文件尾3行:tail -3 文件 切换用户: su - [用户名] 查 ...
- Android App截包工具
用于分析App通过网络与服务器交互的过程,至于教程,网上很多,软件叫Fiddler
- mysql语句 索引操作
创建索引:(help create index;) CREATE INDEX indexName ON tableName(Coll,Coll....); ALTER TABLE tableName ...
- mvc正则@符号js报错解决办法
很简单在@前面再加个@就行了,也可以以引进js 的形式解决!
- 数位DP bzoj1026
1026: [SCOI2009]windy数 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 5809 Solved: 2589[Submit][Sta ...
- JS(javascript) 将网站加入收藏夹
| 浏览:688 | 更新:2014-09-20 19:39 1 2 3 分步阅读 将网站网址加入收藏夹,方便下次访问! 工具/原料 网址: 电脑. 方法/步骤 //创建加入收藏夹JS函数 < ...
- 20145334赵文豪 《Java程序设计》第8周学习总结
20145334赵文豪 <Java程序设计>第8周学习总结 教材学习内容总结 转眼间Java学习已经到了第八周,第十五章,需要我们学会使用日志API.了解国际化基础.认识JDK8增强功能等 ...
- php课程---数组
数组: 一:定义 1.赋值定义 $arr[0] = 5; $arr[1] = "aa"; print_r ($arr); 2.定义索引数组 $ ...