usaco1.51Number Triangles(数字三角形)

最基础的数字三角形

View Code
 1 #include <iostream>
 2 #include<cstdio>
 3 /*
 4 ID: your_id_here
 5 PROG: numtri
 6 LANG: C++
 7 */
 8 #include<cstring>
 9 #include<algorithm>
10 using namespace std;
11 int a[1010][1010];
12 long long  dp[1010][1010];
13 int main()
14 {
15     freopen("numtri.in","r",stdin);
16     freopen("numtri.out","w",stdout);
17     int n,i,j;
18     cin>>n;
19     for(i = 1; i <= n; i++)
20     for(j = 1; j <= i ; j++)
21     {
22         cin>>a[i][j];
23         dp[i][j] = a[i][j];
24     }
25     for(i = n-1; i >= 1 ; i--)
26     for(j = 1 ; j <= i ; j++)
27     {
28         dp[i][j] = max(dp[i+1][j]+a[i][j],dp[i+1][j+1]+a[i][j]);
29     }
30     cout<<dp[1][1]<<endl;
31     fclose(stdin);
32     fclose(stdout);
33     return 0;
34 }
原文地址:https://www.cnblogs.com/shangyu/p/2770576.html