3176

1 /*
2 动态规划,容易的。
3
4 0ms是怎么来的???
5 */
6 // include file
7 #include <cstdio>
8 #include <cstdlib>
9 #include <cstring>
10 #include <cmath>
11 #include <cctype>
12 #include <ctime>
13
14 #include <iostream>
15 #include <sstream>
16 #include <fstream>
17 #include <iomanip>
18 #include <bitset>
19 #include <strstream>
20
21 #include <algorithm>
22 #include <string>
23 #include <vector>
24 #include <queue>
25 #include <set>
26 #include <list>
27 #include <functional>
28
29 using namespace std;
30
31 // typedef
32 typedef long long LL;
33 typedef unsigned long long ULL;
34 typedef __int64 Bint;
35
36 //
37 #define read freopen("in.txt","r",stdin)
38 #define write freopen("out.txt","w",stdout)
39 #define FORi(a,b,c) for(int i=(a);i<(b);i+=c)
40 #define FORj(a,b,c) for(int j=(a);j<(b);j+=c)
41 #define FORk(a,b,c) for(int k=(a);k<(b);k+=c)
42 #define FORp(a,b,c) for(int p=(a);p<(b);p+=c)
43 #define FORii(a,b,c) for(int ii=(a);ii<(b);ii+=c)
44 #define FORjj(a,b,c) for(int jj=(a);jj<(b);jj+=c)
45 #define FORkk(a,b,c) for(int kk=(a);kk<(b);kk+=c)
46
47 #define FF(i,a) for(int i=0;i<(a);i++)
48 #define FFD(i,a) for(int i=(a)-1;i>=0;i--)
49
50 #define Z(a) (a<<1)
51 #define Y(a) (a>>1)
52
53 const double eps = 1e-6;
54 const double INFf = 1e10;
55 const int INFi = 1000000000;
56 const double Pi = acos(-1.0);
57
58 template<class T> inline T sqr(T a){return a*a;}
59 template<class T> inline T TMAX(T x,T y)
60 {
61 if(x>y) return x;
62 return y;
63 }
64 template<class T> inline T TMIN(T x,T y)
65 {
66 if(x<y) return x;
67 return y;
68 }
69 template<class T> inline void SWAP(T &x,T &y)
70 {
71 T t = x;
72 x = y;
73 y = t;
74 }
75 template<class T> inline T MMAX(T x,T y,T z)
76 {
77 return TMAX(TMAX(x,y),z);
78 }
79
80
81 // code begin
82 #define MAXN 355
83 int N;
84 int G[MAXN][MAXN];
85 int main()
86 {
87 read;
88 write;
89 while(scanf("%d",&N)!=-1)
90 {
91 FORi(1,N+1,1)
92 {
93 FORj(1,i+1,1)
94 {
95 scanf("%d",&G[i][j]);
96 }
97 }
98 for(int i=N;i>1;i--)
99 {
100 for(int j=1;j<i;j++)
101 {
102 G[i-1][j] += TMAX( G[i][j],G[i][j+1] );
103 }
104 }
105 printf("%d\n",G[1][1]);
106 }
107 return 0;
108 }
posted @ 2011-03-10 19:19  AC2012  阅读(196)  评论(0编辑  收藏  举报