Cod sursa(job #599012)

Utilizator Luncasu_VictorVictor Luncasu Luncasu_Victor Data 27 iunie 2011 19:05:12
Problema Paduri de multimi disjuncte Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.86 kb
program _disjoint;
type
        _vector1 = array[1..100000] of longword;
var
        n   : longword;
        rad : _vector1;

function _rad(x : longword) : longword; forward;

procedure _main;
var
        f ,f0 : text;
        i ,m ,x ,y : longword;
        cod : byte;
begin
        assign(f, 'disjoint.in' ); reset(f);
        assign(f0,'disjoint.out'); rewrite(f0);
        readln(f, n, m);

        for i := 1 to m do
        begin
                readln(f, cod, x, y);
                x := _rad(x);
                y := _rad(y);
                if cod = 1 then rad[x] := y else
                if x = y then write(f0,'DA',#10) else write(f0,'NU',#10);
        end;
        close(f);
        close(f0);
end;

function _rad(x : longword) : longword;
begin
        while rad[x] > 0 do x := rad[x];
        _rad := x;
end;

begin
_main;
end.