類比鏈表SPFA…

來源:互聯網
上載者:User

今天上午剛AC掉自己的第一個類比鏈表SPFA~是不是有點晚呢...發出來受BS一下...

program SPFA;  type l=record    x,y,q,n:integer;  end;  var    d:array[1..100000]of l;    e,dist:array[1..100000]of integer;    nn,m,i,j:integer;    v:array[1..100000]of boolean;    x,y,z,o:integer;    n,f,s:integer;    q:array[1..1000]of integer;    t,xx:integer;  procedure add(x,y,z:integer);    begin      inc(o);      d[o].x:=x;      d[o].y:=y;      d[o].q:=z;      d[o].n:=e[x];      e[x]:=o;    end;  begin    readln(n,m);    for i:=1 to m do      begin        readln(x,y,z);        add(x,y,z);        add(y,x,z);      end;    f:=1;    s:=1;    q[1]:=1;    for i:=1 to n do      dist[i]:=32767;    dist[1]:=0;    while f<=s do      begin        xx:=q[f];        v[xx]:=false;        t:=e[xx];        while t<>0 do          begin            if(d[t].q+dist[xx]<dist[d[t].y])then              begin                dist[d[t].y]:=d[t].q+dist[xx];                if not v[d[t].y] then                  begin                    v[d[t].y]:=true;                    inc(s);                    if s>n then s:=1;                    q[s]:=d[t].y;                  end;              end;            t:=d[t].n;          end;        inc(f);        if f>n then f:=1;      end;    for i:=1 to n do      writeln(dist[i]);  end.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.