HDOJ-1874(最短路)
来源:互联网 发布:怎么来淘宝店铺 编辑:程序博客网 时间:2024/04/30 05:29
裸的SPFA:
#include <cstdio>#include <vector>#include <queue>using namespace std;#define INF 999999999struct Edge{ int to, len; Edge(int t, int l): to(t), len(l){}};int N, M, S, T;vector<Edge> vertex[200];int dis[200];bool inq[200];bool input(){ if(2 != scanf("%d %d", &N, &M)) return false; int i, x, y, c; for(i = 0; i < N; ++i){ vertex[i].clear(); inq[i] = false; dis[i] = INF; } for(i = 0; i < M; ++i){ scanf("%d %d %d", &x, &y, &c); vertex[x].push_back(Edge(y, c)); vertex[y].push_back(Edge(x, c)); } scanf("%d %d", &S, &T); return true;}int spfa(){ if(S == T) return 0; queue<int> q; q.push(S); inq[S] = true; dis[S] = 0; while(!q.empty()){ int x = q.front(); q.pop(); const vector<Edge>& v = vertex[x]; for(int i = 0, n = v.size(); i < n; ++i){ int y = v[i].to, l = v[i].len; if(dis[y] > dis[x] + l){ dis[y] = dis[x] + l; if(!inq[y]){ q.push(y); inq[y] = true; } } } inq[x] = false; } return dis[T] != INF ? dis[T] : -1;}int main(){ while(input()) printf("%d\n", spfa()); return 0;}
0 0
- HDOJ-1874(最短路)
- HDOJ-----1874最短路
- HDOJ 1874 最短路问题
- HDOJ 1874 畅通工程续 (最短路)
- HDOJ/HDU---1874 畅通工程续 最短路(dijkstra)
- HDOJ 1874 畅通工程续(最短路 - dijsktra算法)
- hdoj 1874 通畅工程续 (最短路)
- HDOJ 1874 畅通工程续(最短路--dijkstra)
- HDOJ 1874 畅通工程续(最短路)
- HDOJ 1874 畅通工程续 (最短路之SPFA)
- HDOJ 1874 畅通工程续 (最短路之floyd)
- HDOJ 1874 畅通工程续 (最短路)
- hdoj 1874 畅通工程续 (最短路)
- HDOJ 1874 畅通工程续(最短路)
- HDOJ 1874 畅通工程续(最短路)
- HDOJ 1874 畅通工程续(最短路)
- HDOJ-1874-畅通工程续(最短路)
- 最短路(Floyd)(HDOJ 2544)
- 安卓学习笔记(一)Android ImageButton、ImageView控件属性设置 图片显示问题
- asp.net 页面初级介绍1
- 快速排序
- POJ 1434 Fill the Cisterns!(二分)
- 修复bat打开方式
- HDOJ-1874(最短路)
- HDU 2048 神、上帝以及老天爷
- POJ 2002 Squares (已知正方形对角线两点推另外两点,STL set)
- Inventory Transactions Manager
- unicode
- CSS3中的动画效果-------Day72
- 虚拟机测试等值索引扫描成本
- coredump
- MVC5 + EF6 简单示例