找正环的最快方法!!

这绝壁是我见过最快的找正环方法了,dfs找环 + 巧妙的找正环(负环方法)!!!

int spfa(int x) {
	vis[x] = 1;
	for (int i = 0; i < G[x].size(); i++) {
		int p = G[x][i].p;
		if (dis[p] < dis[x] + G[x][i].len) {
			dis[p] = dis[x] + G[x][i].len;
			if (vis[p] == 1) {
				flag = 1;
				return 0;
			}
			spfa(p);
		}
	}
	vis[x] = 0;
	return 0;
}

  

猜你喜欢

转载自www.cnblogs.com/lesning/p/11508945.html