test/1A.py
2026-07-01 19:46:51 +03:00

25 lines
No EOL
625 B
Python

V, E = map(int, input().split())
adj = [[] for i in range(V + 1)]
for i in range(E):
u, v = map(int, input().split())
adj[u].append(v)
adj[v].append(u)
visited = [False] * (V + 1)
ans = []
for i in range(1, V + 1):
if not visited[i]:
comp = []
stack = [i]
visited[i] = True
while stack:
u = stack.pop()
comp.append(u)
for v in adj[u]:
if not visited[v]:
visited[v] = True
stack.append(v)
ans.append(comp)
print(len(ans))
for comp in ans:
print(len(comp))
print(*(comp))