本文共 529 字,大约阅读时间需要 1 分钟。
#include#define max(a,b) a>b?a:busing namespace std;int main(void) { int n; cin>>n; int a[n+1][n+1]= { }; int b[n+1][n+1]= { }; for(int i=1,k=1; i<=n; i++) { for(int j=1; j<=k; j++) { cin>>a[i][j]; } k++; } b[1][1]=a[1][1]; for(int i=2,k=2; i<=n; i++) { for(int j=1; j<=k; j++) { if(j<=k)b[i][j]=max(b[i][j],b[i-1][j]+a[i][j]); if(j-1>0)b[i][j]=max(b[i][j],b[i-1][j-1]+a[i][j]); } k++; } int maxitem=b[n][1]; for(int i=2; i<=n; i++) { if(b[n][i]>maxitem)maxitem=b[n][i]; } cout<
转载地址:http://wghu.baihongyu.com/