VCOLDWAT - Nước lạnh

Tác giả: RR

Ngôn ngữ: Pascal

type
  list=^node;
  node=record
        u:longint;
        next:list;
  end;

procedure add(u:longint; var a:list);
    var
      p:list;
    begin
      new(p); p^.u:=u;
      p^.next:=a; a:=p;
    end;

var
  n,k,i,u,v1,v2:longint;
  ke:array[1..100111] of list;
  d:array[1..100111] of longint;

procedure dfs(u:longint);
    var
      p:list;
      v:longint;
    begin
      p:=ke[u];
      while p<>nil do
        begin
          v:=p^.u; p:=p^.next;
          d[v]:=d[u]+1;
          dfs(v);
        end;
    end;

begin
  read(n,k);
  for i:=1 to k do
    begin
      read(u,v1,v2);
      add(v1,ke[u]);
      add(v2,ke[u]);
    end;
  d[1]:=1;
  dfs(1);
  for i:=1 to n do
    writeln(d[i]);
end.

Download