tyvjP1083 分糖果
P1083 - 分糖果From Admin Normal (OI) 总时限:6s 内存限制:128MB |
|||||||
|---|---|---|---|---|---|---|---|
|
|||||||
Delphi语言: 高亮代码由发芽网提供
program tyvj1083;
var map:array[1..100000,0..200] of longint;
q,time:array[1..100000] of longint;
mark:array[1..100000] of boolean;
i,m,head,tail,n,p,first,x,y,k,ans:longint;
procedure push(x:longint);
begin
inc(head);
q[head]:=x;
mark[x]:=true;
end;
function pop:longint;
begin
pop:=q[tail];
inc(tail);
end;
begin
fillchar(mark,sizeof(mark),false);
fillchar(map,sizeof(map),0);
readln(n,p,first);
readln(m);
for i:=1 to p do begin
readln(x,y);
inc(map[x,0]);
map[x,map[x,0]]:=y;
inc(map[y,0]);
map[y,map[y,0]]:=x;
end;
head:=0;tail:=1;ans:=0;
time[first]:=1;
push(first);
while head>=tail do begin
k:=pop;
if time[k]+m>ans then ans:=time[k]+m;
for i:=1 to map[k,0] do
if not(mark[map[k,i]]) then begin
time[map[k,i]]:=time[k]+1;
push(map[k,i]);
end;
end;
writeln(ans);
end.
浙公网安备 33010602011771号