Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
depth-first search solution in Clear category for New Cities by David_Jones
from collections import defaultdict
def subnetworks(net, crushes):
def DFS_visit(G, u):
visited.add(u)
for v in G[u]:
if v not in visited:
DFS_visit(G, v)
G = defaultdict(set)
for u, v in net:
G[u].add(v)
G[v].add(u)
mayors = 0
visited = set(crushes)
for u in G:
if u not in visited:
mayors += 1
DFS_visit(G, u)
return mayors
May 4, 2019