Advertisement
Egor_1425

Untitled

May 22nd, 2024
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.73 KB | None | 0 0
  1. from sys import setrecursionlimit
  2. setrecursionlimit(10**5)
  3.  
  4. n, m = map(int, input().split())
  5. graph = {}
  6. for i in range(n):
  7.     graph[i] = set()
  8. for i in range(m):
  9.     k, l = map(int, input().split())
  10.     s1 = graph[k-1]
  11.     s2 = graph[l-1]
  12.     s1.add(l-1)
  13.     s2.add(k-1)
  14.  
  15. colors = [0] * n
  16. components = []
  17. def dfs(u):
  18.     global comp
  19.     comp.append(u+1)
  20.     colors[u] = 1
  21.     s = graph[u]
  22.     for i in s:
  23.             if colors[i] != 1:
  24.                 dfs(i)
  25.    
  26. for i in range(n):
  27.     if colors[i] == 1:
  28.         continue
  29.     comp = []
  30.     dfs(i)
  31.     components.append(comp)
  32.  
  33. print(len(components))
  34. for i in range(len(components)):
  35.     component = components[i]
  36.     print(len(component))
  37.     print(*component)
  38.    
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement