Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #-*-coding:utf8;-*-
- #qpy:3
- #qpy:console
- def dfs(g, i, c, s, used):
- used[i] = True
- s.append(i)
- c[len(c)-1]+= 1
- for j in g[i]:
- if not used[j]:
- dfs(g, j, c, s, used)
- def csearch(g, n):
- count = 0
- used = [False for i in range(n+1)]
- c = []
- s = []
- for i in range(n):
- if not used[i+1]:
- count+= 1
- c.append(0)
- s.append([])
- dfs(g, i+1, c, s[len(s)-1], used)
- print(count)
- for i in range(count):
- print(c[i])
- for j in s[i]:
- print(str(j) + " ", end = "")
- print()
- #*****************
- n, m = map(int, input().split())
- g = [[] for i in range(n+1)]
- for i in range(m):
- a, b = map(int, input().split())
- g[a].append(b)
- g[b].append(a)
- #for i in g: print(i)
- csearch(g, n)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement