关于前向星和vector的玄学问题,玄关
  • 板块灌水区
  • 楼主GB2312
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/9/15 21:34
  • 上次更新2024/9/15 21:52:10
查看原帖
关于前向星和vector的玄学问题,玄关
1038686
GB2312楼主2024/9/15 21:34

rt
为什么前向星和vector同样的存储顺序在tarjan遍历时的顺序不一样啊

代码链接

输入样例:

7 8
1 3
2 4
3 5
2 5
6 4
2 5
6 3
2 7

原代码输出

1->3
3->1
3->5
5->3
5->2
2->4
4->2
4->6
6->4
6->3
2->5
2->5
2->7
5->2
3->6
7->2
2
6 1 3 5 2 4 6 
1 7 

把dfs时修改为

void dfs(int x) 
{
	c[x]=cnt;
	if(x) ans[cnt].push_back(x); 
	for(int i=head[x];i;i=Next[i]) 
	{
		int y=ver[i];
		cout<<x<<"->"<<y<<'\n';
		if(c[y]||bridge[i]) continue;
		dfs(y);
	}
}

之后输出

1->3
2->7
2->5
5->2
5->2
5->3
3->6
6->3
6->4
4->6
4->2
3->5
3->1
2->5
2->4
7->2
3
1 1 
5 2 5 3 6 4 
1 7 

此时答案正确

对于这一玄学现象求解释

2024/9/15 21:34
加载中...