| 比赛 | 
    10101115 | 
    评测结果 | 
    AWWWTTTTTT | 
    | 题目名称 | 
    最小密度路径 | 
    最终得分 | 
    10 | 
    | 用户昵称 | 
    magic | 
    运行时间 | 
    0.000 s  | 
    | 代码语言 | 
    Pascal | 
    内存使用 | 
    0.00 MiB  | 
    | 提交时间 | 
    2010-11-15 11:26:16 | 
显示代码纯文本
program gls;
const maxint=10000000;
var
m,n,a,b,w,k,i,j,q,x,y,z,quan:longint;min:real;
st:array[1..50,1..50]of boolean;
ss:array[1..50,1..50]of longint;
data:array[1..100000,1..2]of integer; {}
f,g:text;
    procedure make(xx,yy,zz:longint);
    var i:integer;
    begin
          for i:=1 to m do
     begin
            if  (i=y)and(st[xx,i]=true) then
          begin  quan:=quan+ss[xx,i];
              inc(zz);
            if min>(quan/zz) then
               min:=quan/zz;
            quan:=quan-ss[xx,i];
            dec(zz);
          end;
     if (st[xx,i]=true)and(i<>y)then
        begin st[xx,i]:=false;
            quan:=quan+ss[xx,i];
            inc(zz);
            make(i,yy,zz);
            dec(zz);
            quan:=quan-ss[xx,i];
              st[xx,i]:=true;
        end;
    end;
    end;
begin
  assign(f,'path.in');reset(f);
  assign(g,'path.out');rewrite(g);
  readln(f,n,m);
  fillchar(st,sizeof(st),false);
  for k:=1 to m do
 begin readln(f,a,b,w);
       ss[a,b]:=w;
       st[a,b]:=true;
 end;
 readln(f,q);
 for k:=1 to q do
  begin z:=0;quan:=0; min:=maxint;
        readln(f,x,y);
 if x<>y then begin make(x,y,z);
   if min<>maxint then writeln(g,min:0:3) else writeln(g,'OMG!');end;
 if x=y then writeln(g,'0.000');
  end;
 close(f);close(g);
end.