本蒟蒻为啥全错,求助
查看原帖
本蒟蒻为啥全错,求助
1387780
ken1006楼主2024/7/10 20:32
#include<iostream>
#include<cstring>
using namespace std;
int a[10][10] = {};		
int n,m;
int ans;
int vis[10][10];
void dfs(int x,int y,int num)
{
	if(x == n && y == m+1)
	{
		ans = max(ans,num);
		return ;
	}
	int nx = x,ny = y;
	if(y == m+1)
	{
		ny = 1;
		nx ++;
	}
	else ny++;
	if(!vis[nx][ny])
	{
		for(int i = nx-1;i<=nx+1;i++)
			for(int j = ny-1;j<=ny+1;j++)
				vis[i][j] = 1;
		dfs(nx,ny,num+a[nx][ny]);
		for(int i = nx-1;i<=nx+1;i++)
			for(int j = ny-1;j<=ny+1;j++)
				vis[i][j] = 0;		
	}
	dfs(nx,ny,num);
}
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		cin>>n>>m;
		for(int i = 1;i<=n;i++)
			for(int j = 1;j<=m;j++)
				cin>>a[i][j];
		dfs(1,1,0);
		cout<<ans;
		ans = 0;
		memset(vis,0,sizeof(vis));
	}
  }
2024/7/10 20:32
加载中...