1. 程式人生 > >【洛谷習題】Likecloud-吃、吃、吃

【洛谷習題】Likecloud-吃、吃、吃

tar clas 三角形 inf 為什麽 eve one include lan

題目鏈接:https://www.luogu.org/problemnew/show/P1508


好迷的一道題啊,一開始題意沒理解,原來起點是最後一行的下方,而不是在最後一行上。555,為什麽順推不行,難道是細節問題(需要處理邊界)?好吧,我比較懶,改成倒推就對了,以後看哪個簡單就用哪個吧。呃呃,其實這道題和數字三角形很相似,不過每次需要考慮三個方向。

技術分享圖片
 1 #include<cstdio>
 2 #include<cstring>
 3 const int mmax=205,inf=0x3f3f3f3f;
 4 int m,n,dp[mmax][mmax],ans;
5 inline int max(int a,int b) { 6 return a>b?a:b; 7 } 8 int main() { 9 scanf("%d%d",&m,&n); 10 memset(dp,-inf,sizeof(dp)); 11 for(int i=1;i<=m;++i) 12 for(int j=1;j<=n;++j) scanf("%d",&dp[i][j]); 13 for(int i=2;i<=m;++i) 14 for
(int j=1;j<=n;++j) { 15 int mm=max(dp[i-1][j-1],max(dp[i-1][j],dp[i-1][j+1])); 16 dp[i][j]+=mm; 17 } 18 ans=max(dp[m][n/2],max(dp[m][n/2+1],dp[m][n/2+2])); 19 printf("%d",ans); 20 return 0; 21 }
AC代碼

【洛谷習題】Likecloud-吃、吃、吃