HDU 1874畅通工程续
2017-07-24 20:26
176 查看
//重边 //双向图 //if 忘记大括号 #include<stdio.h> #include<string.h> #include<queue> using namespace std; const int maxn = 2e2+3; const int INF = 0x3f3f3f3f; int mp[maxn][maxn]; int vis[maxn]; int dis[maxn]; int main (){ int m,n; int a,b,x; int s,t; int ans; while (scanf("%d%d", &n, &m) != EOF){ memset(mp,0x3f,sizeof(mp)); memset(vis,0,sizeof(vis)); memset(dis,0x3f,sizeof(dis)); for (int i = 0; i < m; i++){ scanf("%d%d%d", &a, &b, &x); if (x < mp[a][b]){ mp[a][b] = x; mp[b][a] = x; } } scanf("%d%d", &s, &t); for (int i = 0; i < n; i++){ mp[i][i] = 0; } queue<int> que; while (!que.empty()){ que.pop() ; } dis[s] = 0; vis[s] = 1; que.push(s); while (!que.empty() ){ int u = que.front() ; que.pop() ; vis[u] = 0; for (int i = 0; i < n; i++){ if (dis[i] > dis[u] + mp[u][i]){ dis[i] = dis[u] + mp[u][i]; if (!vis[i]){ vis[i] = 1; que.push(i); } } } } if (dis[t] >= INF){ printf("-1\n"); } else printf("%d\n",dis[t]); } }
相关文章推荐
- hdu 1874 畅通工程续 ( 最短路(dij/floyd))
- hdu-1874-畅通工程续(dijkstra + SPFA )
- HDU 1874 畅通工程续-- Dijkstra算法详解 单源点最短路问题
- HDU 1874 畅通工程续 <SPFA算法>
- hdu1874——畅通工程续(最短路径)
- HDU 1874 畅通工程续 (Dijkstra算法)
- hdu 1874 畅通工程续 flody
- hdu 1874 畅通工程续
- HDU 1874 畅通工程续【最短路,qscqesze直播代码,pair建图,spfa,DIjkstra算法】
- hdu 1874 畅通工程续
- HDU 1874 畅通工程续 (Dijkstra算法)
- HDU1874 - 畅通工程续 - 最短路
- HDU 1874 畅通工程续
- (HDU - 1874)畅通工程续
- hdu 1874 畅通工程续
- hdu 1874 畅通工程续(两点最短路径,spfa&&floyd)
- HDU 1874 畅通工程续 (dijkstra模板)
- HDU-1874-畅通工程续 (最短路 贝尔曼Bellman_Ford)
- hdu 1874 畅通工程续
- hdu 1874 畅通工程续(dijkstra)