Dijkstra学习
来源:互联网 发布:高通网络解锁工具下载 编辑:程序博客网 时间:2024/06/10 01:17
#include <iostream>#include <cstdio>#include <math.h>#include <stdlib.h>#include <memory.h>#include <algorithm>using namespace std;#define MAXVER 1005#define INF 100000000int n, m, e;int a[MAXVER][MAXVER];int dis[MAXVER];bool visited[MAXVER];void dijkstra(int src){memset(visited, 0, sizeof(visited));for (int i = 1; i <= n; i++){dis[i] = a[src][i];}dis[src] = 0;visited[src] = true;for (int i = 1; i < n; i++){int indexOfmin=src;int tmp = INF;for (int j = 1; j <= n; j++){if (visited[j]) continue;if (tmp > dis[j]){tmp = dis[j];indexOfmin = j;}}visited[indexOfmin] = true;for (int j = 1; j <= n; j++){if (!visited[j] && dis[j]>dis[indexOfmin] + a[indexOfmin][j]){dis[j] = dis[indexOfmin] + a[indexOfmin][j];}}}}int main(){int T;cin >> T;while (T--){cin >> n >> m;for (int i = 1; i <= n; i++){for (int j = 1; j <= n; j++){a[i][j] = INF;a[i][i] = 0;}}for (int i = 0; i < m; i++){int u, v, w;cin >> u >> v >> w;a[u][v] = min(a[u][v], w);//cout << a[u][v] << endl;}dijkstra(1);for (int i = 1; i <= n;i++)cout << dis[i] << endl;}return 0;}
0 0
- Dijkstra学习
- Dijkstra算法学习笔记
- Dijkstra算法再学习
- hdu1874 Dijkstra学习
- Dijkstra算法 学习笔记
- Dijkstra算法学习
- Dijkstra(迪杰斯特拉)算法学习
- Dijkstra堆优化学习
- Dijkstra算法 学习笔记
- 算法学习 - Dijkstra's Algorithm
- 算法学习 - Dijkstra's Algorithm
- dijkstra学习之--基础题
- 算法学习 - Dijkstra(迪杰斯特拉)算法学习
- dijkstra
- dijkstra
- Dijkstra
- Dijkstra
- DIJKSTRA
- 一个C#三维绘图控件
- [ACM] hdu 1521 排列组合(指数型母函数)
- 黑马程序员-银行管理系统
- 黑马程序员_Java中的面向对象小结
- 黑马程序员_OC基础02_类和对象
- Dijkstra学习
- vi使用大全【转载】
- 【呆子谈营销】:从商业营销角度去看广州恒大
- 变态问题汇总
- 怎么给Visual Studio2010生成的exe文件添加一个图标
- 正则表达式
- Java的内存回收机制
- android中的WebView与JS交互
- 希望大家,多多分享!