求助有向图找环
查看原帖
求助有向图找环
119261
7KByte楼主2020/8/29 14:26

Rt,直接DFS找环会挂,Tarjan找环可以过,不知道是不是写挂了。

DFS

int dfs(int x,int op){
	if(v[x])return false;
    v[x]=op;
	for(int i=h[x];i;i=e[i].nxt){
		if(v[e[i].to]==op)return true;
		if(dfs(e[i].to,op))return true;
	}
	return false;
}

主函数里

op=0;
rep(i,1,mx)if(!v[i]){
	if(dfs(i,++op)){puts("-1");return;}
}
2020/8/29 14:26
加载中...