Pagini recente » Cod sursa (job #481521) | Cod sursa (job #1642589) | Cod sursa (job #2047231) | Monitorul de evaluare | Cod sursa (job #2786021)
from collections import deque
def citire(nume_fisier):
f = open(nume_fisier)
n, m = [int(x) for x in f.readline().split()]
l = [[] for i in range(n)]
# for linie in f:
for i in range(m):
x, y = [int(a) for a in f.readline().split()]
l[x - 1].append(y - 1)
l[y - 1].append(x - 1)
f.close()
return n, l
import sys
sys.setrecursionlimit(10001)
def dfs(x):
#global nrt,y,l,viz
#print(nrt)
#nrt+=1
viz[x] = 1
for y in l[x]:
if viz[y] == 0:
dfs(y)
n, l = citire("dfs.in")
y = 0
nrt=0
viz = [0] * n
nrc = 0
for i in range(n):
if viz[i]==0:
dfs(i)
nrc+=1
f = open("dfs.out", "w")
f.write(str(nrc)+"\n")
f.close()