比赛 |
暑假培训五 |
评测结果 |
AAAAAAAAAA |
题目名称 |
找最佳通路 |
最终得分 |
100 |
用户昵称 |
苏轼 |
运行时间 |
0.000 s |
代码语言 |
Pascal |
内存使用 |
0.00 MiB |
提交时间 |
2008-07-22 11:03:55 |
显示代码纯文本
program cch(input,output,f1,f2);
var
f1,f2:text;
head,tail,i,m,s,e,j,x,y,n:integer;
a:array[1..50,1..50] of boolean;
b,c:array[0..10000] of integer;
function check(x:integer):boolean;
var
i:integer;
begin
check:=false;
for i:=1 to tail do
if b[i]=x then exit;
check:=true;
end;
begin
assign(f1,'city.in');
assign(f2,'city.out');
reset(f1);
rewrite(f2);
readln(f1,n,m,s,e);
for i:=1 to n do
for j:=1 to n do a[i,j]:=false;
for i:=1 to m do begin
readln(f1,x,y);
a[x,y]:=true;
end;
head:=1; tail:=1;
b[tail]:=s; c[tail]:=1;
repeat
for i:=1 to n do
if i<>b[head] then
if a[head,i] then
if check(i) then begin
inc(tail);
b[tail]:=i; c[tail]:=c[head]+1;
if i=e then begin
writeln(f2,c[tail]);
close(f1); close(f2);
halt;
end;
end;
inc(head);
until head>tail;
close(f1);
close(f2);
end.