您的位置:首页 > 其它

hdu 2084(数塔-经典dp)

2014-05-26 17:52 393 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2084

自下而上,状态转移方程:dp[i][j]=max(dp[i+1][j]+map[i][j],dp[i+1][j+1]+map[i][j]);




View Code

1 #include<iostream>
2 #include<algorithm>
3 const int N=110;
4 using namespace std;
5 int map

,dp

;
6
7 int main(){
8     int _case;
9     scanf("%d",&_case);
10     while(_case--){
11         int n;
12         scanf("%d",&n);
13         memset(map,0,sizeof(map));
14         memset(dp,0,sizeof(dp));
15         for(int i=0;i<n;i++){
16             for(int j=0;j<=i;j++){
17                 scanf("%d",&map[i][j]);
18             }
19         }
20         for(int i=n-1;i>=0;i--){
21             for(int j=0;j<=i;j++){
22                 dp[i][j]=max(dp[i+1][j]+map[i][j],dp[i+1][j+1]+map[i][j]);
23             }
24         }
25         printf("%d\n",dp[0][0]);
26     }
27     return 0;
28 }


 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: