日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDOJ1874最短路【spfa】

發(fā)布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDOJ1874最短路【spfa】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

//不知道切過這道題目幾次了,這次又wa了...雙向路啊。。。。這波簡直無奈了,今晚又是浪成狗!!!!
#include<cstdio> #include<vector> #include<string.h> #include<iostream> #include<algorithm> using namespace std; #define INF 0X3f3f3f3f #define N 100010struct asd{int to;int w;int next; }; int head[N]; int tol; asd q[N]; int dis[220]; bool vis[220]; int n; int que[N*10]; void spfa(int s,int t) {for(int i=0;i<n;i++){dis[i]=INF;vis[i]=0;}dis[s]=0;vis[s]=1;int he,tail;he=0;tail=1;que[he]=s;while(he<tail){int u=que[he];vis[u]=0;for(int k=head[u];k!=-1;k=q[k].next){int i=q[k].to;if(dis[i]>dis[u]+q[k].w){dis[i]=dis[u]+q[k].w;if(!vis[i]){que[tail++]=i;vis[i]=1;}}}he++;}if(dis[t]!=INF){printf("%d\n",dis[t]);}elseputs("-1"); }void add(int a,int b,int c) {q[tol].to=b;q[tol].w=c;q[tol].next=head[a];head[a]=tol++; }int main() {int m;while(~scanf("%d%d",&n,&m)){int a,b,c;memset(head,-1,sizeof(head));tol=0;for(int i=0;i<m;i++){scanf("%d%d%d",&a,&b,&c);add(a,b,c);add(b,a,c);}int s,t;scanf("%d%d",&s,&t);spfa(s,t);}return 0; }

轉(zhuǎn)載于:https://www.cnblogs.com/keyboarder-zsq/p/5934589.html

總結(jié)

以上是生活随笔為你收集整理的HDOJ1874最短路【spfa】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。