60WA请求大佬帮助
查看原帖
60WA请求大佬帮助
1061261
lllyyyyyy楼主2024/9/20 13:54
#include <bits/stdc++.h>
using namespace std;
int m,n;
int v[55][55];
int dp[110][55][55];

int main(){
	cin>>m>>n;
	for(int i =1;i<=m;i++){
		for(int j =1;j<=n;j++){
			cin>>v[i][j];
		}
	}
	for(int k =2;k<=m+n;k++){
		for(int i1 = 1;i1<=m;i1++){
			for(int i2 = 1;i2<=n;i2++){
				int j1 = k-i1,j2 = k-i2;
				if(j1>=1&&j1<=m&&j2>=1&&j2<=n){
					int t = v[i1][j1];
					if(i1!=i2) t+=v[i2][j2];
					int &x = dp[k][i1][i2];
					x = max(x,dp[k-1][i1-1][i2]+t);
					x = max(x,dp[k-1][i1][i2-1]+t);
					x = max(x,dp[k-1][i1-1][i2-1]+t);
					x = max(x,dp[k-1][i1][i2]+t);
 				}
			}
		}
	}
	cout<<dp[m+n][m][m];
	return 0;
}
2024/9/20 13:54
加载中...