Pagini recente » Cod sursa (job #104614) | Cod sursa (job #2209835) | Cod sursa (job #2833084) | Cod sursa (job #637768) | Cod sursa (job #3335437)
def dfs(start, graph, visited):
stack = [start]
visited[start] = True
while stack:
node = stack.pop()
for neighbour in graph[node]:
if not visited[neighbour]:
visited[neighbour] = True
stack.append(neighbour)
def main():
fin = open('dfs.in', 'r')
fout = open('dfs.out', 'w')
n, m = map(int, fin.readline().split())
graph = [[] for _ in range(n+1)]
for _ in range(m):
u, v = map(int, fin.readline().split())
graph[u].append(v)
graph[v].append(u)
visited = [False] * (n+1)
count = 0
for node in range(1, n+1):
if not visited[node]:
dfs(node, graph, visited)
count += 1
fout.write(str(count))
fin.close()
fout.close()
main()