Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from sys import setrecursionlimit
- setrecursionlimit(10**5)
- n, m = map(int, input().split())
- graph = {}
- for i in range(n):
- graph[i] = set()
- for i in range(m):
- k, l = map(int, input().split())
- s1 = graph[k-1]
- s2 = graph[l-1]
- s1.add(l-1)
- s2.add(k-1)
- colors = [0] * n
- components = []
- def dfs(u):
- global comp
- comp.append(u+1)
- colors[u] = 1
- s = graph[u]
- for i in s:
- if colors[i] != 1:
- dfs(i)
- for i in range(n):
- if colors[i] == 1:
- continue
- comp = []
- dfs(i)
- components.append(comp)
- print(len(components))
- for i in range(len(components)):
- component = components[i]
- print(len(component))
- print(*component)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement