FZU 2261 浪里个浪
2017-07-26 10:42
281 查看
FZU 2261 浪里个浪
TonyY是一个喜欢到处浪的男人,他的梦想是带着兰兰姐姐浪遍天朝的各个角落,不过在此之前,他需要做好规划。
现在他的手上有一份天朝地图,上面有n个城市,m条交通路径,每条交通路径都是单行道。他已经预先规划好了一些点作为旅游的起点和终点,他想选择其中一个起点和一个终点,并找出从起点到终点的一条路线亲身体验浪的过程。但是他时间有限,所以想选择耗时最小的,你能告诉他最小的耗时是多少吗?
Input
包含多组测试数据。
输入第一行包括两个整数n和m,表示有n个地点,m条可行路径。点的编号为1 - n。
接下来m行每行包括三个整数i, j, cost,表示从地点i到地点j需要耗时cost。
接下来一行第一个数为S,表示可能的起点数,之后S个数,表示可能的起点。
接下来一行第一个数为E,表示可能的终点数,之后E个数,表示可能的终点。
0
TonyY是一个喜欢到处浪的男人,他的梦想是带着兰兰姐姐浪遍天朝的各个角落,不过在此之前,他需要做好规划。
现在他的手上有一份天朝地图,上面有n个城市,m条交通路径,每条交通路径都是单行道。他已经预先规划好了一些点作为旅游的起点和终点,他想选择其中一个起点和一个终点,并找出从起点到终点的一条路线亲身体验浪的过程。但是他时间有限,所以想选择耗时最小的,你能告诉他最小的耗时是多少吗?
Input
包含多组测试数据。
输入第一行包括两个整数n和m,表示有n个地点,m条可行路径。点的编号为1 - n。
接下来m行每行包括三个整数i, j, cost,表示从地点i到地点j需要耗时cost。
接下来一行第一个数为S,表示可能的起点数,之后S个数,表示可能的起点。
接下来一行第一个数为E,表示可能的终点数,之后E个数,表示可能的终点。
0
#include <cstdio> #include <cstring> #include <algorithm> #include <iostream> #include <vector> #include <stack> #include <queue> using namespace std; struct node{ int go,time; }a; queue <int> q; vector <node> qq[100010]; int dis[100010]; bool vis[100010]; using namespace std; int main(){ int n,m,b,t,tt,xx; while(~scanf("%d%d",&n,&m)){ for (int i=0;i<=n;i++){ qq[i].clear(); dis[i+1]=1000000007; vis[i+1]=0; } for (int i=0;i<m;i++){ scanf("%d%d%d",&b,&a.go,&a.time); qq[b].push_back(a); } a.time=0; scanf("%d",&t); while(t--){ scanf("%d",&a.go); qq[0].push_back(a); } a.go=n+1; scanf("%d",&t); while(t--){ scanf("%d",&b); qq[b].push_back(a); } q.push(0); while(!q.empty()){ tt=q.front(); q.pop(); vis[tt]=0; for (int i=0;i<qq[tt].size();i++){ xx=dis[tt]+qq[tt][i].time; if (xx<dis[qq[tt][i].go]){ dis[qq[tt][i].go]=xx; if (vis[qq[tt][i].go]==0){ q.push(qq[tt][i].go); vis[qq[tt][i].go]=1; } } } } printf("%d\n",dis[n+1]); } return 0; }
相关文章推荐
- 浪里个浪 FZU - 2261 (多源最短路问题)
- I - 浪里个浪 FZU - 2261——最短路_spfa算法(多起点-多终点)
- fzu-2261(spfa打印最短路径,求最短路)
- FZU2261 浪里个浪(最短路,spfa)(福州大学第十四届程序设计竞赛)
- 浪里个浪 FZU - 2261
- 浪里个浪 FZU - 2261
- Fzu 2261 浪里个浪【思维+最短路】
- 【最短路--思维】hdu2066 一个人的旅行、fzu2261 浪里个浪
- FZU Problem 1924 死锁
- Problem 1046 Tempter of the Bone, from http://acm.fzu.edu.cn/problem.php?pid=1046
- POJ 2261
- FZU 1692 Key problem (构造矩阵)
- FZU 1893 内存管理(模拟)
- 买糖果 fzu 2116(自己基础不牢固,谢谢大神的指点)
- fzu 2105 Digits Count
- FZU 2013 A short problem(DP)
- 福州大学第十届校赛 & fzu 2128最长子串
- FZU 2020 组合
- FZU 2124 吃豆人 (BFS)
- FZU-1925+几何