有大佬能帮忙看看哪里出问题了吗,测试数据一直错
查看原帖
有大佬能帮忙看看哪里出问题了吗,测试数据一直错
311315
lsx_nsgl楼主2022/10/2 21:14
using namespace std;
int n,m;
int a[10010][10010];
int b[10010][10010];
int niubi(int aa){//最后一列的路径是定下来的 
	int sum=0;
	for(int i = aa;i <= n;i ++){
		sum+=a[m][i];
	}
	return sum;
}
long long dp(int i,int j,int k){//i表示列,j表示行 
	b[i][j]=1;
	cout<<i<<" "<<j<<endl;
	if(k==1) return 0;
	if(j==0||j==n+1) return 0;
	if(i==m) return 0;
	if(i+1==m) return max( dp( i + 1 , j , b[i+1][j] ) + a[i+1][j] + niubi(j) , max(dp( i , j+1 , b[i][j+1]) + a[i][j+1] , dp( i , j-1 , b[i][j-1] ) + a[i][j-1] ));
	return max( dp( i+1 , j , b[i+1][j] ) + a[i+1][j] , max( dp( i, j+1 , b[i][j+1] ) + a[i][j+1] , dp( i , j-1 , b[i][j-1] )+ a[i][j-1] ));
} 
int main(){
	cin>>n>>m;
	for(int i = 1;i <= m; i++){
		for(int j = 1;j <= n; j++){
			cin >> a[i][j];
		}
	}
	b[1][1]=1;
	long long maxn = (dp(1,1,0));
	cout << maxn;
}

样例一直过不去

2022/10/2 21:14
加载中...