USACO-Section 1.5 Number Triangles[贪心]

xiaoxiao2021-02-28  90

经典数字三角形 由底向上更新 ,每一步都是当前最优解

/* ID:jsntrdy1 PROG: numtri LANG: C++ */ #include<cstdio> #include<iostream> #include<cstring> #include<fstream> using namespace std; const int N=1010; ifstream fin("numtri.in"); ofstream fout("numtri.out"); int n; int dp[N][N]; int a[N][N]; int main() { fin>>n; for(int i=0;i<n;i++) { for(int j=0;j<=i;j++) fin>>a[i][j]; } //从底往上 最下面一行赋初值 for(int j=0;j<=n-1;j++) dp[n-1][j]=a[n-1][j]; for(int i=n-2;i>=0;i--) for(int j=0;j<=i;j++) { dp[i][j]=a[i][j]+max(dp[i+1][j],dp[i+1][j+1]); } fout<<dp[0][0]<<endl; return 0; }
转载请注明原文地址: https://www.6miu.com/read-31166.html

最新回复(0)