Cod sursa(job #2924827)

Utilizator IoanStoicaStoica Ioan IoanStoica Data 11 octombrie 2022 17:24:36
Problema Parcurgere DFS - componente conexe Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.67 kb
# C. Parcurgerea în adâncime DF
# https://infoarena.ro/problema/dfs

# dfs
f = open('dfs.in', 'r')
data = f.read().split()
n = int(data[0])
m = int(data[1])

matrix = [[0 for i in range(n+1)] for j in range(n+1)]
# fill matrix
for i in range(2, len(data)-1, 2):
    matrix[int(data[i])][int(data[i+1])] = 1
    matrix[int(data[i+1])][int(data[i])] = 1

visited = [0 for i in range(n+1)]
path = []
def dfs(node):
    visited[node] = 1
    path.append(node)
    for i in range(len(matrix[node])):
        if matrix[node][i] == 1 and visited[i] == 0:
            dfs(i)

dfs(1)

# print in file the number of nodes
g = open('dfs.out', 'w')
g.write(str(len(path)))