VCOLDWAT - Nước lạnh
Tác giả: ladpro98
Ngôn ngữ: Pascal
program vcoldwat;
uses math;
type e=record
l,r:longint;
isLeaf:boolean;
end;
const fi='';
maxN=100000;
var a:array[1..maxN] of e;
res:array[1..maxN] of longint;
isRoot:array[1..maxN] of boolean;
n,root:longint;
procedure input;
var inp:text;
i,c,x,y,z:longint;
begin
assign(inp,fi);
reset(inp);
readln(inp,n,c);
for i:=1 to n do
begin
a[i].isLeaf:=true;
isRoot[i]:=true;
end;
for i:=1 to c do
begin
readln(inp,x,y,z);
a[x].l:=min(y,z);
a[x].r:=max(y,z);
a[x].isLeaf:=false;
isRoot[y]:=false;
isRoot[z]:=false;
end;
close(inp);
end;
procedure back(i,k:longint);
begin
res[i]:=k;
if not a[i].isLeaf then
begin
back(a[i].l,k+1);
back(a[i].r,k+1);
end;
end;
procedure init;
var i:longint;
begin
for i:=1 to N do
if isRoot[i] then
begin
root:=i;
exit;
end;
end;
procedure output;
var i:longint;
begin
for i:=1 to N do
writeln(res[i]);
end;
begin
input;
init;
back(root,1);
output;
end.