|  | 
|  | 
| вернуться в форум | Why I got WA!! Послано qwt  10 фев 2002 13:38varfa,a,x:array[1..10000] of integer;
 
 mm,m,j,n,i,k,q,r:integer;
 
 begin
 readln(n);
 fillchar(fa,sizeof(fa),0);x:=fa;
 m:=maxint;
 for i:=2 to n do read(fa[i]);
 for i:=1 to n do begin
 fillchar(a,sizeof(A),0);
 j:=i;k:=1;
 while j<>1 do begin
 a[j]:=k;
 inc(k);
 j:=fa[j];
 end;
 a[1]:=k;
 if mm<k then mm:=k;
 for r:=i+1 to n do if a[r]=0 then begin
 j:=r;
 k:=0;
 while a[j]=0 do begin
 inc(k);
 j:=fa[j];
 end;q:=j;
 j:=r;
 if mm<k+a[q] then mm:=k+a[q];
 while a[j]=0 do begin
 a[j]:=a[q]+k;
 dec(k);
 j:=fa[j];
 end;
 end;
 x[i]:=mm-1;
 if x[i]<m then m:=x[i];
 end;
 for i:=1 to n do if m=x[i] then write(i,' ');writeln;
 end.
 | 
 | 
|