Help!!!
查看原帖
Help!!!
359614
Forever1507楼主2020/11/1 09:52
#include <bits/stdc++.h>
using namespace std;
int n,x,y,a;
int mp[10][10];
int dp[10][10][10][10];
int dx[2]={1,0};
int dy[2]={0,1};
int main(){
	cin>>n;
	while(cin>>x>>y>>a){
		if(x==0&&y==0&&a==0){
			break;
		}
		mp[x][y]=a;
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			for(int ii=1;ii<=n;ii++){
				for(int jj=1;jj<=n;jj++){
					for(int k=0;k<=1;k++){
						dp[i][j][ii][jj]=max(dp[i][j][ii][jj],dp[i-dx[k]][j-dy[k]][ii-dx[k]][jj-dy[k]]+mp[i][j]+mp[ii][jj]);
					}
				}
			}
		}
	}
	cout<<dp[n][n][n][n];
	return 0;
}

我知道是路线重复了,但是不知道怎么改,求神犇帮忙救救蒟蒻

2020/11/1 09:52
加载中...