讨论 / 大牛帮我看看,为什么没输出
zhaoyimei 2009-09-27 05:20:00
点我顶贴 收藏 删除
program jisuan;

var root:array[1..5100] of longint;

f:array[1..5100] of 0..1;

x,y,i,j,k,l,m,n:longint;

procedure ranse(f1:longint);

begin

if (f[f1]=0) then begin

f[f1]:=1;

if root[f1]=f1 then exit;

ranse(root[f1]);

end

else begin

writeln(f1);

halt;

end;

end;

begin

read(n);

for x:=1 to n do

root[x]:=x;

for x:=2 to n do

begin

read(i,j);

root[j]:=i;

end;

fillchar(f,sizeof(f),0);

read(i,j);

if i=j then writeln(i)

else begin

f[i]:=1;

f[j]:=1;

ranse(root[i]);

ranse(root[j]);

end;

end.

#1 sesame@2009-09-27 05:15:00
回复 删除
N的范围《=1000000

看一下啦.. .

你才5100 怎么过啊..

不过话说.. 我用你的程序100000 就过了..

好了好了..拿分来吧...!

#2 sesame@2009-09-27 05:20:00
回复 删除
zym... 话说.. 你怎么这么粗心..

改了这么久..

查看更多回复
提交回复