Cod sursa(job #2945032)

Utilizator alex.rus123Rus Alexandru alex.rus123 Data 23 noiembrie 2022 12:55:23
Problema Paduri de multimi disjuncte Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.52 kb
def find(p):
    if (vec[p] == -1):
        return p
    else:
        return find(vec[p])

f = open("disjoint.in", 'r')
n, m = (int(x) for x in f.readline().split(" "))

vec = [-1 for i in range(n + 1)]


for linie in f:
    z = int(linie[0])
    x = int(linie[2])
    y = int(linie[4])
    absx = 0
    absy = 0
    if z == 1:
        absx = find(x)
        absy = find(y)
        vec[absx] = absy
    else:
        if(find(x) == find(y)):
            print("DA")
        else:
            print("NU")