/*因為最近在學STL庫,所以想用vector代替二維陣列實作數塔問題
輸入如下
5
5
8 3
12 7 16
4 10 11 6
9 5 3 9 4
輸出如下
44
輸入倒是可以正常輸入 輸出不出來程式直接退出了 大佬們幫忙看看吧QAQ(我知道二維陣列就可以實作,就是想知道vector能不能這樣用解決問題)
*/
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,temp;
cin>>n;
vector<vector<int> > f(n+1);
vector<vector<int> > dp(n+1);
vector<int> v(n+1);
for(int i=1;i<=n;i++){
v.clear();
for(int j=1;j<=i;j++){
cin>>temp;
v.push_back(temp);
}
f.push_back(v);
}
for(int j=1;j<=n;j++){
dp[n][j]=f[n][j];
}
for(int i=n-1;i>=1;i++){
for(int j=1;j<=i;j++)
{
dp[i][j]=max(dp[i+1][j],dp[i+1][j+1])+f[i][j];
}
}
cout<<dp[1][1]<<endl;
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/270285.html
標籤:C++ 語言
