Skip to content
Narrow screen resolution Wide screen resolution Auto adjust screen size Increase font size Decrease font size Default font size default color grey color
         
 | 
VNOI - Olympic tin học Việt Nam

Điểm tin VOJ

Số thành viên:6040
Số bài tập:1001
Số bài nộp:722923
Bài nộp hôm nay:0

Top 10 thành viên xuất sắc

HạngThành viênĐiểm
1mr_invincible587.9
2white_cobra418.6
3hieult403.4
4phaleq384.0
5vodanh9x368.2
6con_nha_ngheo352.0
7flash_mt350.2
8darksabers349.8
9yenthanh132345.3
10rockman9x_94343.1
[VOJ] Mã nguồn #196 - V8ORG -0,03 s
Ngày: 24-10-2010
Cập nhật: 24-10-2010
Người gửi: xuanquy0102
Ngôn ngữ: Pascal
Xem: 643

Điểm: 3.2/5 (19 Phiếu)


const fi='';
      fo='';
      max=10000;
var
f,g:text;
a,b,c,d,k,ke,dx,dy:array[0..max]of longint;
free:array[1..max]of boolean;
lop,sc,kq:longint;
n,m:longint;
 
procedure mo;
begin
 assign(f,fi);
 reset(F);
 assign(g,fo);
 rewrite(g);
end;
 
procedure dong;
begin
 close(f);
 close(g);
end;
 
procedure dfs(s,l:longint);
var i,j,x,y:longint;
begin
 free[s]:=true;
 if lop<l then lop:=l;
 inc(sc);
 dx[sc]:=l;
 dy[sc]:=s;
 inc(ke[dx[sc]]);
 for i:=a[s-1]+1 to a[s] do
  begin
   j:=b[i];
   if not free[j]then dfs(j,l+1);
  end;
end;
 
procedure doc;
var i,j,x,y:longint;
begin
 lop:=0;sc:=0;kq:=0;
 readln(f,m);
 readln(f,n);
 for i:=1 to n-1 do
  begin
   read(f,dx[i]);
   dy[i]:=i+1;
   inc(a[dx[i]]);
  end;
 for i:=1 to n do a[i]:=a[i-1]+a[i];
 k:=a;
 for i:=1 to n-1 do
  begin
   x:=dx[i];
   y:=dy[i];
   b[k[x]]:=y;
   dec(k[x]);
  end;
 dfs(1,1);
 for i:=1 to n do ke[i]:=ke[i-1]+ke[i];
 k:=ke;
 for i:=1 to sc do
  begin
   x:=dx[i];
   y:=dy[i];
   c[k[x]]:=y;
   dec(k[x]);
  end;
end;
 
procedure viet;
var i,j:longint;
begin
 write(g,kq);
end;
 
procedure xuly;
var i,j,z,x,y:longint;
begin
 for i:=1 to n do d[i]:=1;
 for i:=lop downto 1 do
  for j:=ke[i-1]+1 to ke[i] do
   begin
    x:=c[j];
    for z:=a[x-1]+1 to a[x] do
     begin
      y:=b[z];
      d[x]:=d[x]+d[y];
     end;
    if d[x]>=m then
     begin
      d[x]:=0;
      inc(kq);
     end;
   end;
end;
 
begin
 mo;
 doc;
 xuly;
 viet;
 dong;
end.