数塔问题

来源:互联网 发布:sublime mac 汉化包 编辑:程序博客网 时间:2024/05/16 01:13
#include<iostream>#include<cstdio>#include<algorithm>#include<string>#include<cstring>#include<cstdlib>#include<set>#include<map>#include<vector>#include<iomanip>const int MAX=102;using namespace std;int main(){int arr[MAX][MAX]={0};int dp[MAX][MAX];int t;cin>>t;while(t--){int r;cin>>r;memset(dp,0,sizeof(dp));for(int i=1;i<=r;i++){for(int j=1;j<=i;j++){cin>>arr[i][j];if(r==i)dp[i][j]=arr[i][j];              }}for(int i=r;i>=2;--i){for(int j=1;j<=i;++j)dp[i-1][j]=max(dp[i][j],dp[i][j+1])+arr[i-1][j];}              cout<<dp[1][1]<<"\n";}return 0;}
这道dp题是自己第一次自己写出来的
0 0
原创粉丝点击