记录编号 |
13531 |
评测结果 |
EEEEEEEEEE |
题目名称 |
[NOI 2007]社交网络 |
最终得分 |
0 |
用户昵称 |
maxiem |
是否通过 |
未通过 |
代码语言 |
Pascal |
运行时间 |
0.002 s |
提交时间 |
2009-10-06 12:03:49 |
内存使用 |
0.32 MiB |
显示代码纯文本
program network;
var
path,dis:array [1..100,1..100] of int64;
ans:array [1..100] of extended;
i,n,m,a,b,v:longint;
begin
fillchar (ans,sizeof(ans),0);
assign (input,'network.in');
reset (input);
readln (n,m);
for a:=1 to n do for b:=1 to n do begin
dis[a,b]:=10000000000;
path[a,b]:=1;
end;
for i:=1 to m do begin
readln (a,b,v);
dis[a,b]:=v;
dis[b,a]:=v;
end;
close (input);
assign (output,'network.out');
rewrite (output);
for i:=1 to n do for a:=1 to n do for b:=1 to n do if (i<>a) and (i<>b) and (a<>b) then
if dis[a,b]>dis[a,i]+dis[i,b] then begin
dis[a,b]:=dis[a,i]+dis[i,b];
path[a,b]:=path[a,i]*path[i,b];
end
else if dis[a,b]=dis[a,i]+dis[i,b] then path[a,b]:=path[a,b]+path[a,i]*path[i,b];
for i:=1 to n do for a:=1 to n do for b:=1 to n do
if (a<>i) and (b<>i) and (a<>b) and (dis[a,i]+dis[i,b]=dis[a,b]) and (path[a,b]<>0) then
ans[i]:=ans[i]+path[a,i]*path[i,b]/path[a,b];
for i:=1 to n do writeln (ans[i]:0:3);
close (output);
end.