第一组数据能通过的,但第二组就不行了,不知道怎么回事
#include<bits/stdc++.h>
using namespace std;
int grid[1001][1001],dp[1001][1001];
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
cin>>grid[i][j];
dp[1][1]=grid[1][1];
for(int i=2;i<=n;++i)dp[i][1]=dp[i-1][1]+grid[i][1];
for(int j=2;j<=m;++j)
{
int t=INT_MIN;
for(int i=1;i<=n;++i)t=max(t,dp[i][j-1])+grid[i][j],dp[i][j]=max(t,dp[i][j]);
t=INT_MIN;
for(int i=n;i>0;--i)t=max(t,dp[i][j-1])+grid[i][j],dp[i][j]=max(t,dp[i][j]);
}
cout<<dp[n][m];
return 0;
}