求助为啥第一个程序wa第9个点

P1508 Likecloud-吃、吃、吃

额,上面的当没看见,为啥此代码wa第九个点 ```cpp #include<iostream> #include<algorithm> #define ll long long #define INF -1<<30 using namespace std; ll dp[205][205],n,m,a[205][205],res=INF; ll maxx(ll a,ll b,ll c) { ll res1,res2; res1=max(a,b); res2=max(a,c); return max(res1,res2); } int main() { cin>>n>>m; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>a[i][j]; for(int i=0;i<=m+1;i++) dp[n+1][i]=INF; dp[n+1][(m+1)/2]=0; for(int i=n;i>=1;i--) for(int j=1;j<=m;j++) dp[i][j]=maxx(dp[i+1][j-1],dp[i+1][j],dp[i+1][j+1])+a[i][j]; for(int i=1;i<=m;i++) res=max(res,dp[1][i]); cout<<res; return 0; } ```
by 天道铸魂 @ 2018-09-04 22:40:31


求助,想不通
by 天道铸魂 @ 2018-09-04 22:41:36


看讨论找到bug了 以下代码已AC ```cpp #include<iostream> #include<algorithm> #define ll long long #define INF -1<<30 using namespace std; ll dp[205][205],n,m,a[205][205],res=INF; ll maxx(ll a,ll b,ll c) { ll res1,res2; res1=max(a,b); res2=max(a,c); return max(res1,res2); } int main() { cin>>n>>m; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>a[i][j]; for(int i=0;i<=n+1;i++) for(int j=0;j<=m+1;j++) dp[i][j]=INF; dp[n+1][(m+1)/2]=0; for(int i=n;i>=1;i--) for(int j=1;j<=m;j++) dp[i][j]=maxx(dp[i+1][j-1],dp[i+1][j],dp[i+1][j+1])+a[i][j]; for(int i=1;i<=m;i++) res=max(res,dp[1][i]); cout<<res; return 0; } ```
by 天道铸魂 @ 2018-09-04 23:02:15


|