Cod sursa(job #882363)

Utilizator mada0222Tomus Madalina mada0222 Data 19 februarie 2013 01:25:42
Problema Paduri de multimi disjuncte Scor 40
Compilator fpc Status done
Runda Arhiva educationala Marime 0.8 kb
program sdsad;
var n,m,x,y,o,i:longint;
v:array[1..1000001] of integer;
f,g:text;
procedure reuniune(x,y:longint);
var mx,my,temp:longint;
begin
mx:=x; my:=y;
   while (v[mx]<>0) do mx:=v[mx];
   while my<>0 do
      begin
        temp:=v[my];
        v[my]:=mx;
        my:=temp;
      end;
end;
procedure ver(x,y:longint);
   begin
      while (v[x]<>0) do x:=v[x];
      while (v[y]<>0) do y:=v[y];
        if x=y then
           writeln(g,'DA')
           else
           writeln(g,'NU');
   end;
begin
assign(f,'disjoint.in'); reset(f);
assign(g,'disjoint.out'); rewrite(g);
readln(f,n,m);
   for i:=1 to m do
      begin
         readln(f,o,x,y);
         if o=1 then
            reuniune(x,y)
            else
            ver(x,y);
      end;
close(f);
close(g);
end.