fork download
  1. program ural1266; const
  2.  
  3. maxn=20;
  4. zero=1e-6;
  5. var
  6.  
  7. e:array[1..maxn,1..maxn]of real;
  8. n,m,i,x,y,r:longint;
  9. ans:real;
  10. begin
  11.  
  12. read(n,m);
  13. for i:=1 to m do begin
  14. read(x,y,r);
  15. e[x,x]:=e[x,x]-1/r;e[x,y]:=e[x,y]+1/r;
  16. e[y,y]:=e[y,y]-1/r;e[y,x]:=e[y,x]+1/r;
  17. end;
  18. for i:=2 to n-1 do e[i,1]:=-e[i,1];
  19. for x:=n-1 downto 3 do begin
  20. y:=x;while abs(e[y,x])<zero do dec(y);
  21. if y<x then begin e[1]:=e[x];e[x]:=e[y];e[y]:=e[1];end;
  22. for y:=2 to x-1 do
  23. for i:=1 to x-1 do
  24. e[y,i]:=e[y,i]-e[x,i]/e[x,x]*e[y,x];
  25. end;
  26. e[1,1]:=1;
  27. for x:=2 to n-1 do begin
  28. for i:=2 to x-1 do
  29. e[x,1]:=e[x,1]-e[x,i]*e[i,1];
  30. e[x,1]:=e[x,1]/e[x,x];
  31. end;
  32. for i:=1 to n-1 do
  33. ans:=ans+e[n,i]*e[i,1];
  34. writeln(1/ans:0:2);
  35. end.
Success #stdin #stdout 0s 340KB
stdin
5 4
1 5 1
2 5 1
3 4 1
4 5 1
stdout
1.00