示例#1
0
文件: Dinic.py 项目: Fylyps/algo
def getLayerNet(net):
	layers = Network(net.n)
	current = [0]
	visited = current
	nextLayer = []
	while current and net.n - 1 not in visited:
		for v in current:
			for w in xrange(net.n):
				if net.c[v][w] and w not in visited:
					nextLayer.append(w)
					layers.setFlow(v, w, net.c[v][w])
		current = nextLayer
		visited = visited + nextLayer
		nextLayer = []
	return net.n -1 in visited, layers