SnowFlavour @ 2024-08-11 17:13:27
可以用一个 id
数组(或者在存边的邻接表用结构体)作为从这条边返回到当前节点时的顺序(因为vector是有顺序的,所以在访问的时候是有固定的顺序的)
代码如下:
//输入部分
while(m--){
int u,v;
cin>>u>>v;
if(u==v)continue;
e[u].push_back(v);
e[v].push_back(u);
id[u].push_back(e[v].size()-1);
id[v].push_back(e[u].size()-1);
}
//Tarjan函数声明
void tarjan(int x,int fa,int idx){
//判断父亲
if(v==fa&&i==idx)continue;
//递归调用
tarjan(v,x,id[x][i]);
by fjy666 @ 2024-08-11 17:25:49
正确的
by xyin @ 2024-10-16 14:36:44
%%%