蒟蒻求助!!!
  • 板块学术版
  • 楼主Leo2020
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/6/16 20:16
  • 上次更新2023/11/4 21:49:29
查看原帖
蒟蒻求助!!!
238691
Leo2020楼主2021/6/16 20:16

p7074

蒟蒻初学搜索,求大佬帮忙修改。

#include<bits/stdc++.h>
using namespace std;
bool vis[1015][1015];
int num[1015][1015],ans=0,n,m;
const int d[5]={-1,0,1,0,-1};
void dfs(int x,int y,int s){
	if(x==n-1&&y==m-1) ans=max(ans,s);
	for(int i=0;i<4;i++){
		if(d[i]==1) continue;
		int a=x+d[i];
		int b=y+d[i+1];
		if(vis[x][y]==0&&0<=a<=n-1&&0<=b<=m-1){
			s+=num[x][y];
			vis[x][y]=1;
			dfs(a,b,s);
			vis[x][y]=0;
		}
	}
	
}
int main(){
	cin >> n >> m;
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			cin >> num[i][j];
		}
	}
	ans=num[0][0];
	dfs(0,0,ans);
	cout << ans;
	
	return 0;
}
2021/6/16 20:16
加载中...