WA了,30pst大佬求调
#include <bits/stdc++.h>
using namespace std;
const int N = 2e2 + 10;
int m,n,k[N][N];
int dp(int x,int y)
{
if(x == 0 || y < 0 || y > n) return 0;
if(x == m+1) return max(max(dp(x-1,y),dp(x-1,y-1)),dp(x-1,y+1));
return k[x][y] + max(max(dp(x-1,y),dp(x-1,y-1)),dp(x-1,y+1));
}
int main()
{
cin >> m >> n;
for(int i = 1;i <= m;i++)
{
for(int j = 1;j <= n;j++)
{
cin >> k[i][j];
}
}
cout << dp(m+1,n/2+1);
return 0;
}