#include<stdio.h> #include<memory.h> #define maxnum 100 int d[maxnum+10][maxnum+10]; int N; int amaxsum[maxnum+10][maxnum+10]; int maxsum(int i,int j) { if(i==N) return d[i][j]; if(amaxsum[i+1][j]==-1) amaxsum[i+1][j]=maxsum(i+1,j); if(amaxsum[i+1][j+1]==-1) amaxsum[i+1][j+1]=maxsum(i+1,j+1); if(amaxsum[i+1][j]>amaxsum[i+1][j+1]) return amaxsum[i+1][j]+d[i][j]; else return amaxsum[i+1][j+1]+d[i][j]; } void main() { int j,k; scanf("%d",&N); memset(amaxsum,-1,sizeof(amaxsum)); for(j=1;j<=N;j++) for(k=1;k<=j;k++) scanf("%d",&d[j][k]); printf("%d/n",maxsum(1,1)); }
pku 1163 c语言
最新推荐文章于 2024-06-13 21:17:02 发布