【fzu-2261】浪里个浪
TonyY是一个喜欢到处浪的男人,他的梦想是带着兰兰姐姐浪遍天朝的各个角落,不过在此之前,他需要做好规划。
现在他的手上有一份天朝地图,上面有n个城市,m条交通路径,每条交通路径都是单行道。他已经预先规划好了一些点作为旅游的起点和终点,他想选择其中一个起点和一个终点,并找出从起点到终点的一条路线亲身体验浪的过程。但是他时间有限,所以想选择耗时最小的,你能告诉他最小的耗时是多少吗?
Input
包含多组测试数据。
输入第一行包括两个整数n和m,表示有n个地点,m条可行路径。点的编号为1 - n。
接下来m行每行包括三个整数i, j, cost,表示从地点i到地点j需要耗时cost。
接下来一行第一个数为S,表示可能的起点数,之后S个数,表示可能的起点。
接下来一行第一个数为E,表示可能的终点数,之后E个数,表示可能的终点。
0<S, E≤n≤100000,0<m≤100000,0<cost≤100。
Output
输出他需要的最短耗时。
Sample Input
4 4
1 3 1
1 4 2
2 3 3
2 4 4
2 1 2
2 3 4
Sample Output
1
建一个炒鸡源点和炒鸡汇点,跑一遍SPFA
#include <iostream>
#include <cstdio>
#include <queue>
#include <vector>
using namespace std;
const int N = 1e5+;
vector<pair<int, int> >V[N];
int dis[N], n;
bool vis[N];
void SPFA()
{
for(int i = ; i <= n+; i++)
{
dis[i] = 1e9;
vis[i] = ;
}
dis[] = , vis[] = ;
queue<int>Q;
Q.push();
while(!Q.empty())
{
int s = Q.front();
Q.pop();
vis[s] = ;
for(unsigned int i = ; i < V[s].size(); i++)
{
int v = V[s][i].first, w = V[s][i].second;
if(dis[v] > dis[s] + w)
{
dis[v] = dis[s] + w;
if(!vis[v])
{
vis[v] = ;
Q.push(v);
}
}
}
}
}
int main()
{
int m, a, b, c;
while(~scanf("%d%d", &n, &m))
{
for(int i = ; i <= n+; i++) V[i].clear();
while(m--)
{
scanf("%d%d%d", &a, &b, &c);
V[a].push_back(make_pair(b, c));
}
cin>>m;
while(m--)
{
scanf("%d", &a);
V[].push_back(make_pair(a, ));
}
cin>>m;
while(m--)
{
scanf("%d", &a);
V[a].push_back(make_pair(n+, ));
}
SPFA();
printf("%d\n", dis[n+]);
} return ;
}
【fzu-2261】浪里个浪的更多相关文章
- FOJ Problem 2261 浪里个浪
...
- 浪里个浪 FZU - 2261
TonyY是一个喜欢到处浪的男人,他的梦想是带着兰兰姐姐浪遍天朝的各个角落,不过在此之前,他需要做好规划. 现在他的手上有一份天朝地图,上面有n个城市,m条交通路径,每条交通路径都是单行道.他已经预先 ...
- [FZU2261]浪里个浪
TonyY是一个喜欢到处浪的男人,他的梦想是带着兰兰姐姐浪遍天朝的各个角落,不过在此之前,他需要做好规划. 现在他的手上有一份天朝地图,上面有n个城市,m条交通路径,每条交通路径都是单行道.他已经预先 ...
- 尖端之作看逐浪-Zoomla!逐浪CMS python版发布
免费下载:https://www.z01.com/down/3723.shtml Python是跻身于当代IT世界最流行和代码最高效的编程语言之一. 带着对技术的卓越追求.对客户的承诺.对品质的极致追 ...
- 2017 Fzu校赛 [Cloned]
A - Salty Fish 海边躺着一排咸鱼,一些有梦想的咸鱼成功翻身(然而没有什么卵用),一些则是继续当咸鱼.一个善良的渔夫想要帮这些咸鱼翻身,但是渔夫比较懒,所以只会从某只咸鱼开始,往一个方向, ...
- swift -- 学习记录
先把疯狂的swift这本书大致看了一遍 2016.7.13 因为实在是太闲,所以决定把公司的应用用swift写一遍 然后顺便看看swift的官方文档 这里有一个官文的中文翻译,感动啊 http://w ...
- JS 中 if / if...else...替换方式
说说烂大街的if/if...else...,程序中用得最多的流程判断语句. 对着曾经满屏的if/if...else...,心想能不能搞点事情,折腾点浪花浪里呀浪. 对顶着"这个需求很简单,怎 ...
- iOS 11和xcode9
最近发现了比较奇怪的问题,就是 ios10.几以前的版本,用xcode9 编写的程序 如果程序写的table是 plain的 ,那么 在 ios10.几及以下版本都会显示成group样式, ...
- 最新消息,CDRX7冰点价再返现,你知道么?
一年一度的七夕又到来了,这不很多的单身狗朋友们都已经自备好了狗粮,准备在家里宅上一天呢? 开个玩笑今天小编就为各位带来了 一个劲爆大消息... Deng/deng/deng/deng..就是备受万众瞩 ...
随机推荐
- spoj1812 LCS2 - Longest Common Substring II
地址:http://www.spoj.com/problems/LCS2/ 题面: LCS2 - Longest Common Substring II no tags A string is fi ...
- Vue组件里面data为什么必须是个函数
在创建或注册模板的时候,传入一个data属性用来绑定数据,但是在组件中,data必须是一个函数,而不能直接把对象赋值给它. export default { name:'app', data(){ r ...
- PHP+MySQL数据库编程的步骤
第一步:PHP连接MySQL服务器 第二步:选择当前要操作的数据库 第三步:设置请求或返回的数据的字符集 第四步:执行各种SQL语句. PHP连接MySQL服务器 1.mysql_connect() ...
- 一键安装lnmp-nginx(3)
nginx(){cd $pathtar zxvf pcre-8.20.tar.gz cd pcre-8.20./configure --prefix=/usr/local/pcremakemake i ...
- 20145333 《Java程序设计》第5周学习总结
20145333 <Java程序设计>第5周学习总结 教材学习内容总结 语法与继承架构 使用try.catch Java中所有错误都会被包装成对象,可以尝试(try)执行程序并捕捉(cat ...
- 在Linux终端管理文件你要知道的11个命令
LS - 列表文件 ls命令列出目录中的文件. 默认情况下,使用ls列出当前目录下的文件. 2 你也可以列出文件递归-也就是说,列出所有文件在当前目录中的目录-使用ls -R.LS还可以列出在其他目录 ...
- ubuntu 18.04 64bit下如何安装python开发工具jupyter
1.执行一下命令进行安装 sudo apt-get install python3-distutils wget https://bootstrap.pypa.io/get-pip.py sudo p ...
- websocket 重连解决方案
1.websocket 重连的脚本:https://github.com/joewalnes/reconnecting-websocket reconnecting-w ...
- 【Network Architecture】Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning(转)
文章来源: https://www.cnblogs.com/shouhuxianjian/p/7786760.html Feature Extractor[Inception v4] 0. 背景 随着 ...
- Centos环境下,执行gulp,显示执行成功,但找到不生成的压缩文件
举例来说:以下是css文件夹下site.css文件为site.min.css,并且将生成的文件放在指定的目录下 //压缩站点css gulp.task('appallcss', function () ...