博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu2066一个人的旅行(多源点多汇点的最短路径问题)
阅读量:5829 次
发布时间:2019-06-18

本文共 1355 字,大约阅读时间需要 4 分钟。

/*   思路:多源点,多会点的最短路径!   将最小号-1的节点但最源点,将最大号+1的点当作汇点!   将问题转变成从一个源点到一个汇点的最短路径的问题!   开始忘记初始化vector了,哇了好多次....坑爹啊*/#include
#include
#include
#include
#include
#define M 1100#define INF 0x3f3f3f3fusing namespace std;struct node{ int v; int tt; node(){} node(int v, int tt){ this->v=v; this->tt=tt; } };vector
v[M];int d[M], vis[M];int city[M];int n;int T, S, D;void Dijkstra(){ memset(d, 0x3f, sizeof(d)); memset(vis, 0, sizeof(vis)); d[0]=0; vis[0]=1; int root=0; for(int j=0; j<=n; ++j){ int minLen=INF, p, len=v[root].size(); for(int i=0; i
d[root] + v[root][i].tt) d[u] = d[root] + v[root][i].tt; }//将所有的与root节点连接的节点的距离进行更新 for(int i=0; i<=n+1; ++i)//然后从0节点到所有的节点的最短的距离! if(!vis[i] && minLen>d[i]){ p=i; minLen=d[i]; } if(minLen==INF) return; root=p; vis[root]=1; } }int main(){ while(cin>>S>>T>>D){ int a, b, t; n=-1; while(S--){ cin>>a>>b>>t; v[a].push_back(node(b, t)); v[b].push_back(node(a, t)); n=max(n, max(a,b)); } while(T--){ cin>>a; v[0].push_back(node(a, 0)); v[a].push_back(node(0, 0)); n=max(n,a); } for(int i=1; i<=D; ++i){ cin>>city[i]; n=max(n, city[i]); } for(int i=1; i<=D; ++i){ v[n+1].push_back(node(city[i],INF)); v[city[i]].push_back(node(n+1,0)); } Dijkstra(); for(int i=0; i<=n+1; ++i) v[i].clear(); cout<
<

 

转载地址:http://szodx.baihongyu.com/

你可能感兴趣的文章
3D实时渲染中的BSP树和多边形剔除
查看>>
Frank Klemm's Dither and Noise Shaping Page: Dither and Noise Shaping In MPC/MP+
查看>>
网络抓包的部署和工具Wireshark【图书节选】
查看>>
Redis在Windows+linux平台下的安装配置
查看>>
Maven入门实战笔记-11节[6]
查看>>
Local declaration of 'content' hides instance variable
查看>>
ASP.NET中 HTML标签总结及使用
查看>>
Linux下日志系统的设计
查看>>
爬虫IP被禁的简单解决方法——切换UserAgent
查看>>
php生成word,并下载
查看>>
紫书 习题8-11 UVa 1615 (区间选点问题)
查看>>
asp.net mvc学习(Vs技巧与Httpcontext)
查看>>
float数据在内存中是怎么存储的
查看>>
dedecms 修改标题长度可以修改数据库
查看>>
Matplotlib学习---用matplotlib画直方图/密度图(histogram, density plot)
查看>>
MySQL案列之主从复制出错问题以及pt-slave-restart工具的使用
查看>>
linux 查看剩余内存数
查看>>
测试人员容易遗漏的隐藏缺陷
查看>>
maven+SpringMVC搭建RESTful后端服务框架
查看>>
一本书的摘录
查看>>