拜托了
全部回复 共 1 条
-
#include<bits/stdc++.h> using namespace std; const int MAXN=505; int A[MAXN][MAXN],F[MAXN][MAXN],N; int Dfs(int x,int y) { if(F[x][y]==-1) { if(x==N) F[x][y]=A[x][y]; else F[x][y]=A[x][y]+max(Dfs(x+1,y),Dfs(x+1,y+1)); } return F[x][y]; } int main() { cin>>N; for(int i=1;i<=N;i++) { for(int j=1;j<=i;j++) { cin>>A[i][j]; } } for(int i=1;i<=N;i++) { for(int j=1;j<=i;j++) { F[i][j]=-1; } } Dfs(1,1); cout<<F[1][1]<<endl; return 0; }
发表回复
登录后即可回复本帖,与出题人和同学一起讨论。
登录