比赛 |
10101115 |
评测结果 |
AEWWEEEEEE |
题目名称 |
最小密度路径 |
最终得分 |
10 |
用户昵称 |
belong.zmx |
运行时间 |
0.000 s |
代码语言 |
Pascal |
内存使用 |
0.00 MiB |
提交时间 |
2010-11-15 09:40:06 |
显示代码纯文本
program path(input,output);
var
i,j:longint;
a:array[1..50,1..50]of double;
f:array[1..50,1..50]of double;
m,n,s,e:longint;
x,y:longint;
z:double;
p:longint;
procedure dfs(x,y:longint;p:double;q:longint);
var
i,j:longint;
begin
if (x=y) then
begin
if (p>0)and(f[s,e]>(p/q)) then
f[s,e]:=p/q;
end
else
begin
for i:=1 to n do
if a[x,i]>0 then
dfs(i,y,p+a[x,i],q+1);
end;
end;
begin
assign(input,'path.in');
reset(input);
assign(output,'path.out');
rewrite(output);
readln(n,m);
for i:=1 to m do
begin
readln(x,y,z);
a[x,y]:=z;
end;
for i:=1 to n do
for j:=1 to n do
if i<>j then
f[i,j]:=maxlongint;
for i:=1 to n do
for j:=1 to n do
begin
s:=i;
e:=j;
dfs(s,e,0,0);
end;
readln(p);
for i:=1 to p do
begin
readln(x,y);
if f[x,y]=maxlongint then writeln('OMG!')
else writeln(f[x,y]:0:3);
end;
close(input);
close(output);
end.