Pagini recente » Cod sursa (job #139494) | Cod sursa (job #2659273) | Cod sursa (job #1688572) | Cod sursa (job #189275) | Cod sursa (job #466258)
Cod sursa(job #466258)
var a:array[1..100000] of longint;
p:array[1..100000] of byte;
np,x,y,n,r,min,k,i:longint;
procedure produs(q:longint);
var z,i:longint;
begin
z:=0;
for i:=1 to np do
begin
z:=z+p[i]*q;
p[i]:=z mod 10;
z:=z div 10;
end;
while z>0 do
begin
inc(np);
p[np]:=z mod 10;
z:=z div 10;
end;
end;
begin
assign(input,'colorare3.in');reset(input);
assign(output,'colorare3.out');rewrite(output);
readln(n,k);
p[1]:=1;np:=1;r:=1000000007;
for i:=1 to n-1 do
begin
readln(x,y);
if a[x]<a[y] then min:=a[y] else min:=a[x];
produs(k-min);
inc(a[x]);
inc(a[y]);
end;
if np>9 then
begin
k:=0;
for i:=np downto 1 do
k:=(k*10+p[i]) mod r;
write(k);
halt;
end;
for i:=np downto 1 do write(p[i]);
end.