50分RE求调
查看原帖
50分RE求调
611785
tyx666楼主2024/12/12 13:42
#include<bits/stdc++.h>
using namespace std;
int main(){
	int dp[70][70][155];
	int x,y;
	int n[55][55];
	memset(dp,0,sizeof(dp));
	cin>>x>>y;
	for(int i=1;i<=x;i++){
		for(int j=1;j<=y;j++){
			cin>>n[i][j];
		}
	}
	for(int i=1;i<=x+y-1;i++){
		for(int j=1;j<=i;j++)
			for(int z=1;z<j;z++){
				if(i-j&&i-z&&j>1){
					dp[j][z][i]=max(max(dp[j-1][z-1][i-1],dp[j-1][z][i-1]),max(dp[j][z-1][i-1],dp[j][z][i-1]))+n[j][i-j]+n[z][i-z];
				}
			}
	}
	cout<<dp[x][x-1][x+y-1];
	return 0;
}

代码呈上,样例已过

2024/12/12 13:42
加载中...