Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from collections import defaultdict
- n, m = map(int, input().split())
- g = defaultdict(list)
- for _ in range(m):
- a, b = map(int, input().split())
- g[a].append(b)
- g[b].append(a)
- comps = []
- visited = set()
- def dfs(node):
- if node not in visited:
- visited.add(node)
- comps[-1].append(node)
- for neigh in g[node]:
- dfs(neigh)
- for v in range(1, n+1):
- if v not in visited:
- comps.append([])
- dfs(v)
- print(len(comps))
- for c in comps:
- print(len(c))
- print(' '.join([str(i) for i in c]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement