DAG最短路算法
来源:互联网 发布:写真机软件 编辑:程序博客网 时间:2024/06/06 19:04
#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <stack>using namespace std;#define INF 1000000int d[100]; queue<int> que; vector<int> vec[1000];vector<int> w[1000];int n,m;int F[1000];int topu_rudu(){ stack<int> st; for(int i = 0;i < n;i++){ d[i] = vec[i].size(); if(d[i] == 0){ st.push(i); } } while(!st.empty()){ int u = st.top(); st.pop(); que.push(u); int si = vec[u].size(); for(int i = 0;i < si;i++){ int v = vec[u][i]; d[v]--; if(d[v] == 0){ st.push(v); } } } }int DAG_SHORTEST_PATHS(){topu_rudu();for(int i = 0;i < n;i++){d[i] = INF;F[i] = -1; }while(!que.empty()){int u = que.front();que.pop();int si = vec[u].size();for(int i = 0;i < si;i++){int v = vec[u][i];if(d[v] > d[u] + w[u][i]){d[v] = d[u] + w[u][i];F[v] = u;}}}}int main(){while(cin >> n >> m){for(int i = 0;i < m;i++){int x,y,v;cin >> x >> y>> v;w[x].push_back(y);vec[x].push_back(v);}DAG_SHORTEST_PATHS();} return 0;}
0 0
- DAG最短路算法
- DAG之最短路
- DAG之最短路
- DAG(递归实现最短路)
- DAG上的最短路--uva103
- DP<DAG模型的最短路>
- poj 3249 DAG求最短路
- LS 22 Longest path on DAG(最短路+SPFA)
- poj 3249 DAG上的最短路问题
- JavaScript最短路算法
- 最短路算法总结
- 最短路算法总结
- 最短路 Dijkstra算法
- 最短路算法
- 最短路算法
- 最短路-Floyd算法
- 算法训练 最短路
- 最短路算法Dijkstra
- 脱壳学习笔记
- Android RelativeLayout 属性
- CURL断点续传
- 堆排序
- 解决Eclipse下maven项目的jar包无法发布到tomcat中的问题
- DAG最短路算法
- Android开发初学者问题
- return break
- MATLAB 练习01 数组与矩阵
- iOS_NSNotificationCenter(通知中心简单建立)
- 每一位攻城狮都不能错过的Visual Studio 2015正式版
- 猫猫学iOS 之微博项目实战(3)微博主框架-UIImage防止iOS7之后自动渲染_定义分类
- dictionary
- 月之数