摘要:
这一题综合了DFS和DP,很好的一道题。dp[i][j]表示以第i行第j列个网格为起点所能得到的最大值,需要注意的是一次最多走k步必须在一条直线上,这个只需要在普通的深搜上加一层循环表示从1步到k步,状态转移就是dp[i][j] = max{dp[i + d1*c][j + d2*c], 1=< c <= k} + map[i][j]。AC code:View Code 1 #include<iostream> 2 using namespace std; 3 4 int a[101][101]; 5 int dp[101][101]; //dp[i][j]表示从位置( 阅读全文
posted @ 2012-03-28 18:56
背着超人飞
阅读(297)
评论(2)
推荐(0)