感谢微信平台: 一天一道算法题-------每天多一点进步-----------
这题的话 我就直接用我们自己Oj的题目了
好吧 如今看这题 是很简单 当时 是块被它搞崩溃了 因为 还不知道 dp 这个概念
现在有了这个概念 好多了 但还是 只能做做这种水 dp。。。。
多么悲伤的故事
这题 因为太水了 晚上 应该会去找个高质量的题来做的
如果你是dp刚刚学 这题真的很适合你
1 #include <iostream> 2 #include <cstring> 3 #include <algorithm> 4 using namespace std; 5 6 const int size = 110; 7 int dp[size][size]; 8 9 int main() 10 { 11 int t; 12 int n; 13 int i , j; 14 while( ~scanf("%d",&t) ) 15 { 16 while( t-- ) 17 { 18 memset( dp , 0 , sizeof(dp) ); 19 scanf( "%d",&n ); 20 for( i = 1 ; i<=n ; i++ ) 21 { 22 for( j = 1 ; j<=i ; j++ ) 23 { 24 scanf( "%d",&dp[i][j] ); 25 } 26 } 27 //采用 自底向上的方法进行计算 28 for( i = n-1 ; i>=1 ; i-- ) 29 { 30 for( j= 1 ; j<=i ; j++ ) 31 { 32 dp[i][j]+=max( dp[i+1][j] , dp[i+1][j+1] ); 33 } 34 } 35 printf( "%d\n",dp[1][1] ); 36 } 37 } 38 return 0; 39 }
我们Oj还有个加强版的数塔题 也就是 多增加个输出路径罢了
这边 也给出它的链接 touch me
至于它的代码 我就先不给出了 这题 还是蛮有意思的 让我想起了一些关于bfs的打印路径 就是一个father数组
一天一道算法题--5.29---动态规划之数塔,布布扣,bubuko.com
原文地址:http://www.cnblogs.com/radical/p/3759791.html