关于代码顺序
查看原帖
关于代码顺序
222578
jingkongwanglimiaoa楼主2020/8/20 13:44

这是一道欧拉板子题尽管是模板但本蒟蒻还是一如既往的迷惑呢

经过长时间地坚持看题解,我终于A了这道题

但本蒟蒻还是有个问题没搞明白,先贴两段代码

1.正确AC代码
void dfs(int x)//深搜 
{ 
	for (int i = 0;i <= maxn;i++)//maxn指最大数值的点
	if (e[x][i]) 
	{
		e[x][i]--;//删边 ,e数组表示两个点有几条边
		e[i][x]--;
		dfs(i);
	}
	q[++hd] = x;	//hd为队尾,x入队
}
2.不正常WA两个点代码
void dfs(int x)//深搜 
{ 
	q[++hd] = x;	//hd为队尾,x入队
	for (int i = 0;i <= maxn;i++)//maxn指最大数值的点
	if (e[x][i]) 
	{
		e[x][i]--;//删边 
		e[i][x]--;
		dfs(i);
	}
}

两个代码几乎一模一样,就改了一行代码的顺序,它就wa了两个点,输出那里我一个倒序一个正序是莫得问题的,真是个玄学错误

奇妙蒟蒻遇玄学错误

2020/8/20 13:44
加载中...