Pagini recente » Cod sursa (job #2018676) | Cod sursa (job #2072867) | Cod sursa (job #1038554) | Cod sursa (job #1497385) | Cod sursa (job #2954946)
import numpy as np
fin = open("disjoint.in", "r")
fout = open("disjoint.out", "w")
nm = fin.readline().split()
n, m = int(nm[0]), int(nm[1])
tata = np.array([0 for i in range(100001)])
h = np.array([0 for i in range(100001)])
def Reprez(u):
if tata[u] == u:
return u
return Reprez(tata[u])
def Reuneste(u, v):
ru = Reprez(u)
rv = Reprez(v)
if h[ru] > h[rv]:
tata[rv] = ru
else:
tata[ru] = rv
if h[ru] == h[rv]:
h[rv] = h[rv] + 1
for i in range(m):
cuv = fin.readline().split()
#print(cuv)
c, u, v = int(cuv[0]), int(cuv[1]), int(cuv[2])
#print(c,u,v)
if c == 2:
if Reprez(u) == Reprez(v):
fout.write("DA\n")
else:
fout.write("NU\n")
else:
Reuneste(u,v)
#print(tata,h)
fin.close()
fout.close()