测评机: Xeond[6]
得分: 90分
提交日期: 2011-10-13 8:00:00
有效耗时: 859毫秒
RQNOJ近期在线比赛列表
RQNOJ十月份月赛 时间:2011-10-21 19:00:00 [报名]
测试结果1: 通过本测试点|有效耗时62ms
测试结果2: 通过本测试点|有效耗时63ms
测试结果3: 通过本测试点|有效耗时62ms
测试结果4: 通过本测试点|有效耗时63ms
测试结果5: 通过本测试点|有效耗时62ms
测试结果6: 通过本测试点|有效耗时78ms
测试结果7: 通过本测试点|有效耗时188ms
测试结果8: 通过本测试点|有效耗时78ms
测试结果9: 通过本测试点|有效耗时203ms
测试结果10: 运行错误|被0除
program p282;
const
maxn=100000000;
var
map,dis,f:array[1..100,1..100] of longint;
n,m,i,j,k,l,a,b,e:longint;
ans:array[1..100] of real;
begin
read(n,m);
for i:=1 to n do
for j:=1 to n do dis[i,j]:=maxn;
for i:=1 to m do
begin
read(a,b,e);
map[a,b]:=e;
map[b,a]:=e;
dis[a,b]:=e;
dis[b,a]:=e;
inc(f[a,b]);
inc(f[b,a]);
end;
for i:=1 to n do dis[i,i]:=0;
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
begin
if dis[i,j]>dis[i,k]+dis[k,j] then
begin
f[i,j]:=f[i,k]*f[k,j];
dis[i,j]:=dis[i,k]+dis[k,j];
end else
if (dis[i,j]=dis[i,k]+dis[k,j])and(k<>i)and(k<>j) then
f[i,j]:=f[i,j]+f[i,k]*f[k,j];
end;
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if (dis[i,j]=dis[i,k]+dis[k,j])and(k<>i)and(k<>j)and(i<>j) then
ans[k]:=ans[k]+f[i,k]*f[k,j]/f[i,j];
for i:=1 to n do writeln(ans[i]:0:3);
end.