额,上面的当没看见,为啥此代码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