有个问题
  • 板块P1123 取数游戏
  • 楼主Maysoul
  • 当前回复13
  • 已保存回复13
  • 发布时间2023/4/14 15:07
  • 上次更新2023/10/23 18:32:20
查看原帖
有个问题
409774
Maysoul楼主2023/4/14 15:07

为什么用bool型存储当前节点与相邻节点是否走过就不行,用int型++,--就可以?

可能描述的有点苍白……

这样是可以的

int vis[15][15];	

if(vis[x][y]==0)
{
		
	for (int i=0;i<8;i++)
	{
		vis[x+offsetx[i]][y+offsety[i]]++;
	}
	num+=a[x][y];
	dfs(x,y+1);
	num-=a[x][y];
	for (int i=0;i<8;i++)
	{
		vis[x+offsetx[i]][y+offsety[i]]-=1;
	}
}

这样是不行的

bool vis[15][15];
if(vis[x][y]==0)
{
		
	for (int i=0;i<8;i++)
	{
		vis[x+offsetx[i]][y+offsety[i]]=1;
	}
	num+=a[x][y];
	dfs(x,y+1);
	num-=a[x][y];
	for (int i=0;i<8;i++)
	{
		vis[x+offsetx[i]][y+offsety[i]]=0;
	}
}
2023/4/14 15:07
加载中...