hdu 2571 命运

原创 2017年01月04日 01:13:16

题目大意:在一个迷宫中从出发点以一定的规则去走,走到迷宫的出口,其中迷宫中的每个格子有一定量的数值,求走出迷宫之后积累的最大数值。

还是同样的基(shui)础(shui)题,没有什么难度,还是同样用dfs去做,把当前的值权当做设置为X,用dp数组记录已经确定的最优的结果,跟着题目中给的状态一步一步转移就可以!一遍ac。

题目链接:https://vjudge.net/problem/HDU-2571

#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

const int inf = 0x3f3f3f3f;
int G[22][1005];
int dp[22][1005];
int r,c;

int dfs (int x , int y) {
	if (x == r && y == c) return dp[x][y] = G[x][y];
	if (dp[x][y]) return dp[x][y];
	int ans = -inf;
	int mk = c/y;
	for (int i = 2 ; i <= mk ; i++)
		ans = max(ans , dfs(x,i*y)  +G[x][y]);
	if (x <= r) ans = max(ans , dfs(x+1,y)+G[x][y]);
	if (y <= c) ans = max(ans , dfs(x,y+1)+G[x][y]); 
	return dp[x][y] = ans;
}

int main () {
	int ncase;
	scanf ("%d" , &ncase);
	while (ncase--) {
		memset(dp,0,sizeof(dp));
		memset(G,0,sizeof(G));
		scanf("%d%d" , &r , &c);
		for (int i = 1 ; i <= r ; i++) 
			for (int j = 1 ; j <= c ; j++)
				scanf("%d" , &G[i][j]);
		printf("%d\n", dfs(1,1));
	}
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

动态规划-迷宫-百度之星-Labyrinth

迷宫规模较大,DFS必然超时。注意到行走方向只有上、下、右三个,意味着已走过的路不能再走,更意味着不用回溯。且问题问的是最大值。一切都清晰地指向了DP!...
  • chuchus
  • chuchus
  • 2014年05月16日 22:42
  • 1923

动态规划系统之走迷宫

[题目描述] 有一个n*n的迷宫,每个方格里都有着相应的数字。你从左上角出发,每次可以向上下左右四个方向最多移动k格,并且要求你每次到达的方格里的数字必须大于上一次所在方格的数字。现在要求你走过的方...

动态规划—Problem H

动态规划—Problem H 题意 穿过幽谷意味着离大魔王lemon已经无限接近了!可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个机...

动态规划及其应用

1.动态规划概述1.1 什么是动态规划相信大家都遇到过这样一个问题:例题1  如图1,有一个有向图,图中有n层顶点,除了第n层以外,第i层与第i+1层之间有边。边上的数值代表两个顶点的距离。要求找一条...

HDU2067——小兔的棋盘(迷宫,动态规划)

Problem Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望。不过没过几天发现了棋盘的好玩之处。从起点(0,0)走到...

动态规划之最大矩阵路径

动态规划之求矩阵的最大路径和 或者最小路径也可以
  • Divide_
  • Divide_
  • 2016年04月28日 17:14
  • 712

利用动态规划求迷宫的最优值问题

【问题】7月5号的那道题的动态规划解法和如下这道的动态规划解法大体一致 从【0,0】出发走到底线处即停止,矩阵中每个元素的值为该处可以获得的价值,问到达底线时能获得的最大值。【动态规划】 规划一个二维...
  • roynee
  • roynee
  • 2009年09月28日 11:30
  • 1406

hdu 2571 命运(DP)

命运 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi...
  • caduca
  • caduca
  • 2014年08月30日 14:52
  • 2439

HDU 2571 命运(简单经典DP)

命运 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi...
  • llwwlql
  • llwwlql
  • 2016年03月04日 09:04
  • 209

HDU2571 命运

Problem Description 穿过幽谷意味着离大魔王lemon已经无限接近了! 可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hdu 2571 命运
举报原因:
原因补充:

(最多只允许输入30个字)