Pagini recente » Cod sursa (job #3289419) | Cod sursa (job #3213573) | Cod sursa (job #2812237) | Cod sursa (job #145508) | Cod sursa (job #228352)
Cod sursa(job #228352)
var a,b:array[1..100000] of longint;
f,g:text;
tip,n,m,i,x,y,q,w:longint;
function radacina(x:longint):longint;
var t,aux:longint;
begin
aux:=x;
while a[x]<>x do
x:=a[x];
while a[aux]<>aux do begin
t:=a[aux];
a[aux]:=x;
aux:=t;
end;
radacina:=x;
end;
begin
assign(f,'disjoint.in'); reset(f);
assign(g,'disjoint.out'); rewrite(g);
read(f,n);
for i:=1 to n do begin
a[i]:=i;
b[i]:=1;
end;
read(f,m);
for i:=1 to m do begin
read(f,tip,x,y);
q:=radacina(x);
w:=radacina(y);
case tip of
1: begin
if b[w]>b[q] then
a[q]:=w
else
a[w]:=q;
if b[w]=b[q] then
inc(b[q]);
end;
2: begin
if q=w then
writeln(g,'DA')
else
writeln(g,'NU');
end;
end;
end;
close(f); close(g);
end.