深搜求助
查看原帖
深搜求助
1074157
SANJIAOJIE楼主2024/8/11 10:48
#include<bits/stdc++.h>
using namespace std;
const int N=20;
int n,a[N][N],d[N][N];
int fx[3]={0,0,1},fy[3]={0,1,0};
void dfs(int x,int y,int u){
	d[x][y]=u;
    if(x==n&&y==n)return;
	for(int i=1;i<=2;i++){
		int tx=x+fx[i],ty=y+fy[i],v=u+a[tx][ty];
        if(tx<=n&&ty<=n){
			dfs(tx,ty,v);
            a[tx][ty]=0;
        }
        
	}
}
int main(){
	cin>>n;
	while(1){
		int x,y,u;
		cin>>x>>y>>u;
        if(x==0&&y==0&&u==0)break;
		a[x][y]=u;
	}
	dfs(1,1,a[1][1]);
    dfs(1,1,d[n][n]);
    cout<<d[n][n];
	return 0;
}
2024/8/11 10:48
加载中...