Pagini recente » Infoarena Monthly 2012 - Runda 2 | Cod sursa (job #30986) | Cod sursa (job #230752) | Cod sursa (job #679911) | Cod sursa (job #2519950)
def DFS(node):
seen[node] = True
for adjNode in adjList[node]:
if not seen[adjNode]:
DFS(adjNode)
fin = open("dfs.in", "r")
fout = open("dfs.out", "w")
_input = fin.readline()
V, E = map(int, _input.split())
adjList = {}
for node in range(1, V + 1):
adjList[node] = []
for edge in range(E):
_input = fin.readline()
x, y = map(int, _input.split())
adjList[x].append(y)
adjList[y].append(x)
seen = [False] * (V + 1)
CC = 0
for node in range(1, V + 1):
if not seen[node]:
DFS(node)
CC += 1
fout.write(str(CC))