HDOJ 2084_大二写
AC代码:
#include <iostream> #include <cstdlib> #include <algorithm> #include <cstdio> #define Max 105 using namespace std; int tree[Max][Max]; int dp[Max][Max]; int main(void) { freopen("in.txt","r",stdin); int C; scanf("%d",&C); while(C--) { int N; scanf("%d",&N); //输入N for(int i=1; i<=N; i++) //输入tree的值 for(int j=1; j<=i; j++) scanf("%d",&tree[i][j]); for(int i=1; i<=N; i++) dp[N][i] = tree[N][i]; //给dp的最后一行赋初值 //核心 for(int i=N; i>=1; i--) { for(int j=1;j<=N;j++) { dp[i][j] = tree[i][j] + max(dp[i+1][j],dp[i+1][j+1]); } } printf("%d\n",dp[1][1]); } fclose(stdin); system("pause"); return 0; }