Dijkstra队列优化矩阵版
来源:互联网 发布:网络协议转换 编辑:程序博客网 时间:2024/05/20 22:23
#include <bits/stdc++.h>#define INF 0x3f3f3f3f //定义一个很大的数using namespace std;const int maxn = 100 + 10;int vis[maxn];int mp[maxn][maxn];int v[maxn][maxn];int dis[maxn];int mon[maxn][maxn];int val[maxn];struct Node { int num; int val;// int sum; }node;priority_queue<Node> q;bool operator < (Node a,Node b) { if(a.val = b.val) return a.num > b.num; return a.val > b.val; }int main() {// freopen("in.txt","r",stdin);// int total; int n,m; while(cin>>n>>m) { while(!q.empty()) q.pop();// memset(vis,0,sizeof(vis)); memset(mp,-1,sizeof(mp));// memset(mon,INF,sizeof(mon));// memset(v,0,sizeof(vis));// memset(dis,0,sizeof(dis)); for(int i = 0; i < m; i++) { int t1,t2,c,v; cin>>t1>>t2>>c; mp[t1][t2]=c; mon[t1][t2]=v;// v[a][b] = d; } for(int i = 2; i <= n; i++) { dis[i] = INF; } //1是起始点 dis[1] = 0; node.num = 1; node.val = 0;// node.sum = 0; q.push(node); while(!q.empty()) { for(int i = 2; i <= n; i++) { if(mp[q.top().num][i] != -1&&dis[i] > dis[q.top().num]+mp[q.top().num][i]) { dis[i] = dis[q.top().num] + mp[q.top().num][i]; node.num = i; node.val = dis[i]; q.push(node); } } q.pop(); } for(int i = 1; i <= n; i++) { printf("初始点到%d点的距离为%d\n",i,dis[i]); } } return 0; }
0 0
- Dijkstra队列优化矩阵版
- HDU2544(Dijkstra优先队列优化版)
- 优先队列优化 dijkstra
- Dijkstra(优先队列优化)
- Dijkstra优先队列优化
- spfa dijkstra队列优化
- 模板:Dijkstra 队列优化
- 刘汝佳 Dijkstra 队列优化
- PriorityQueue+Dijkstra优先队列优化的Dijkstra
- 优先队列优化Dijkstra算法
- dijkstra+优先队列优化 模板
- 用优先级队列优化dijkstra
- dijkstra的优先队列优化
- 优先队列优化Dijkstra-hdu2066
- Dijkstra算法优先队列优化
- 优先队列优化Dijkstra算法
- failed 矩阵版 dijkstra
- 优先队列优化的Dijkstra算法
- 13 算法/分析方法的优化以及总结
- Windows red5 安装配置
- jqPaginator(jQuery的分页组件)
- 使用java反射机制动态调用javabean的get,set方法
- Python与人工神经网络(10)——神经网络可以干什么
- Dijkstra队列优化矩阵版
- Linux学习--gdb调试core文件
- 范型擦除中的原始类型类型接口--个人见解记录,非官方
- Find Bottom Left Tree Value
- Android TextView加载带有多张图片的HTML,并且解决图片造成的OOM
- 在linux下安装交叉编译链
- 工厂模式
- 欢迎使用CSDN-markdown编辑器
- ubuntu 安装软件的一些命令aptitude,apt-get