当前位置: 首页 > 编程日记 > 正文

四川第七届 I Travel(bfs)

Travel

The country frog lives in has nn towns which are conveniently numbered by 1,2,,n1,2,…,n.

Among n(n1)2n(n−1)2 pairs of towns, mm of them are connected by bidirectional highway, which needs aa minutes to travel. The other pairs are connected by railway, which needs bb minutes to travel.

Find the minimum time to travel from town 11 to town nn.

Input

The input consists of multiple tests. For each test:

The first line contains 44 integers n,m,a,bn,m,a,b (2n105,0m5105,1a,b1092≤n≤105,0≤m≤5⋅105,1≤a,b≤109). Each of the following mmlines contains 22 integers ui,viui,vi, which denotes cities uiui and vivi are connected by highway. (1ui,vin,uivi1≤ui,vi≤n,ui≠vi).

Output

For each test, write 11 integer which denotes the minimum time.

Sample Input

    3 2 1 31 22 33 2 2 31 22 3

Sample Output

    23

题意:有n个城市,编号为1~n,每个城市都相互连通,其中有m对城市通过公路连通,其他的城市通过铁路连通,经过公路的时间为a,
经过铁路的时间为b,问从1到达n的时间最短为多少.
#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<map>
#include<queue>
#include<vector>
#define  ll long long
using namespace std;
int n,m;
ll a,b;
vector<int>v[100005];
struct node
{int v;ll t;
};
queue<node>q;
bool bo[100005];
ll min1(ll a,ll b)
{if(a>b)return b;return a;
}
int main()
{while(~scanf("%d %d %lld %lld",&n,&m,&a,&b)){while(!q.empty()) q.pop();for(ll i=0;i<100005;i++) v[i].clear();memset(bo,0,sizeof(bo));bool bb=0;for(ll i=1;i<=m;i++){int x,y;scanf("%d %d",&x,&y);v[x].push_back(y);v[y].push_back(x);if((x==1&&y==n)||(x==n&&y==1))bb=1;//可能高速比公路慢}if(a>=b){//挑出与n没有高速公路的点中存不存在与1也没有高速公路的点if(bb==0)printf("%d\n",b);else{for(int i=2;i<n;i++){bool is=0;for(int j=0;j<v[i].size();j++){if(v[i][j]==1||v[i][j]==n)is=1;}if(is==0){bb=0;break;}}if(bb==0)printf("%d\n",min(a,2*b));else printf("%d\n",a);}continue;}node s;s.v=1;s.t=0;q.push(s);ll mx=b;bo[1]=1;bool f=0;while(!q.empty()){node s;s=q.front();q.pop();for(int i=0;i<v[s.v].size();i++){int y=v[s.v].at(i);if(bo[y]) continue;if(y==n){mx=min1(mx,(s.t+1)*a);f=1;break;}node ss;ss.t=s.t+1;ss.v=y;q.push(ss);}if(f)break;}printf("%lld\n",mx);}return 0;
}



转载于:https://www.cnblogs.com/caiyishuai/p/8955140.html

相关文章:

python社会学科需要学些什么_学好Python能做什么

近年来&#xff0c;选择学Python的人也在逐年增多。然而&#xff0c;很多人学Python只是盲目的跟随潮流&#xff0c;对于Python却不了解&#xff0c;学好Python能做什么?今天源码时代小编就来给大家介绍一下Python的就业方向。首先我们要了解一下Python是什么Python是一种计算…

解决Android5.0以后DatePicker选择时间无效的bug。

一、在布局中加上这句话。 加上了这句话后&#xff0c;就相当于强制用5.0以前的外观&#xff0c;所以外观会有所变化&#xff1a; 5.0以上没有这句话的外观&#xff1a; 加上之后的外观&#xff1a; 二、可以用DatePickerDialog代替 转载于:https://www.cnblogs.com/fuyouG/p/f…

【区块链Go语言实现】区块链基本原型

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 0x00 介绍 区块链&#xff08;Blockchain&#xff09;是21世纪最具革命性的技术之一&#xff0c;目前它仍处于逐渐成熟阶段&#xff0c;且其发展潜力…

python2和python3 在windows下公用 导致python2 pip无法使用 报ssl的错误

在查找资料的过程中&#xff0c;网上的信息说。高版本的pip是默认使用ssl&#xff0c;而python2的pip是不使用ssl&#xff1b; 本机的环境&#xff0c;是将python2的pip和python3的 pip做过处理的 最后会有一个叫pip2和pip3环境 有可能是我的操作失误&#xff0c;导致直接使用的…

阻塞队列与非阻塞队列

阻塞队列 阻塞队列&#xff08;BlockingQueue&#xff09;是一个支持两个附加操作的队列。这两个附加的操作是&#xff1a;在队列为空时&#xff0c;获取元素的线程会等待队列变为非空。当队列满时&#xff0c;存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场…

python unicodedecodeerror utf8_python-pip install和UnicodeDecodeError:’utf-8’编...

尝试安装&#xff1a;pip install python-binance结果&#xff1a;Exception:Traceback (most recent call last):File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\compat\__init__.py", line 73, in console_to_strreturn s…

Go语言指针详解

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 不像 Java 和 .NET&#xff0c;Go语言为程序员提供了控制数据结构的指针的能力&#xff1b;但是&#xff0c;并不能进行指针运算。通过给予程序员基…

java基础--日期--练习集锦

题目1 --日期 借助随机数&#xff0c;创建一个从1995.1.1 00:00:00 到 1995.12.31 23:59:59 之间的随机日期 package date;import java.util.Date;public class TestDate {public static void main(String[] args) {long second 1000;long minute 60*second;long hour minut…

python多变量非线性拟合_python实现多变量线性回归(Linear Regression with Multiple Variables)...

本文介绍如何使用python实现多变量线性回归&#xff0c;文章参考NG的视频和黄海广博士的笔记现在对房价模型增加更多的特征&#xff0c;例如房间数楼层等&#xff0c;构成一个含有多个变量的模型&#xff0c;模型中的特征为(x1,x2,...,xn)表示为&#xff1a;引入x01&#xff0c…

【bzoj3150】 cqoi2013—新Nim游戏

www.lydsy.com/JudgeOnline/problem.php?id3105 (题目链接) 题意 在第一个回合中&#xff0c;第一个游戏者可以直接拿走若干个整堆的火柴。可以一堆都不拿&#xff0c;但不可以全部拿走。第二回合也一样&#xff0c;第二个游戏者也有这样一次机会。从第三个回合&#xff08;又…

再见,Python!你好,Go语言

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 AI 前线导读&#xff1a;Go 语言诞生于谷歌&#xff0c;由计算机领域的三位宗师级大牛 Rob Pike、Ken Thompson 和 Robert Griesemer 写成。由于出身…

tensorflow intel platform 优化

intel平台优化 TensorFlow *是深度学习领域中主要使用的机器学习框架&#xff0c;要求高效利用计算资源。 为了充分利用英特尔架构和提高性能&#xff0c;TensorFlow *库已经使用英特尔MKL-DNN原语进行了优化&#xff0c;该原语是深度学习应用的流行性能库。 已进行优化的平台 …

basePath = request.getScheme()+://+request.getServerName()+:+r

basePath request.getScheme()"://"request.getServerName()":"r (2014-06-30 18:29:54) 转载▼标签&#xff1a; 宠物 分类&#xff1a; JavaString path request.getContextPath();String basePath request.getScheme()"://"request.getSe…

python dump函数_python中实现php的var_dump函数功能

最近在做python的web开发(原谅我的多变&#xff0c;好东西总想都学着。。。node.js也是)&#xff0c;不过过程中总遇到些问题&#xff0c;不管是web.py还是django&#xff0c;开发起来确实没用php方便&#xff0c;毕竟存在的时间比较短&#xff0c;很多不完善的地方。比如我在调…

Go语言的Channel文章,整个人都感觉不好了

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 Go的Channel是一个很强大的并发数据模型&#xff0c;在一个发送者和多个消费者情况下工作得最好&#xff0c;但是如果是多个发送者&#xff0c;那么…

图书管理系统(源码)

本文demo下载地址&#xff1a;http://www.wisdomdd.cn/Wisdom/resource/articleDetail.htm?resourceId1070 实例使用java语言实现了一个网页版的图片管理系统, 系统前端使用bootstrap技术&#xff0c;可以进行浏览器适配, 实现功能: 管理图书管书, 管理图书借还信息&#xff0…

linux 如何禁用账号和解除禁用账号

把账号禁用可以有几个方法&#xff1a;1. # usermod -L <username> # usermod -U <username> // 解除禁用2. 修改/etc/passwd文件&#xff0c;可以有几个地方1&#xff09;把第二个字段中的"x"变成其它的字符&#xff0c;该账号就不能…

maya批量命名插件_教你玩转MAYA的四十二精华造诣(第一期)

最近在整理文档时发现我收藏了一篇关于MAYA应用技巧的文章&#xff0c;突然有兴趣看了看&#xff0c;结果发现老版本MAYA中的某些内容很多已经无法应用于新版本。我又上网查了一下&#xff0c;结果发现网上好多帖子和我收藏的这篇内容基本一致&#xff0c;看来好多都是转载和抄…

Go语言开发常见陷阱,你遇到过几个?

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 Go作为一种简便灵巧的语言&#xff0c;深受开发者的喜爱。但对于初学者来说&#xff0c;要想轻松驾驭它&#xff0c;还得做好细节学习工作。 初学者…

sxoi爆炸祭

好吧&#xff0c;纯粹是去玩玩的&#xff0c;我这么一个弱省的蒟蒻&#xff0c;进队纯粹是开玩笑。。。。 Day0 去五中试机&#xff0c;感觉电脑手感不错&#xff0c;打了半个线段树的板子才发现试机要在自己的电脑上试&#xff0c;然后我无奈的搬东西&#xff08;从26号搬到2号…

wiki多个文件一起导入_mac文件信息管理工具EagleFiler for Mac分享给大家

EagleFiler for mac使得管理您的信息方便。它可以让你存档和搜索邮件&#xff0c;网页&#xff0c;PDF文件&#xff0c;字处理文档&#xff0c;图像&#xff0c;等等。使用它可以从不同的来源收集信息。浏览不同类型的文件采用标准的三窗格界面。组织他们到文件夹中&#xff0c…

【bzoj1951】 Sdoi2010—古代猪文

http://www.lydsy.com/JudgeOnline/problem.php?id1951 (题目链接) 题意 废话一堆。。求解&#xff1a;$$g^{\sum_{d|n} C_n^d}~mod~p$$ Solution 真的是数论经典题&#xff0c;什么都用上了。 因为费马小定理&#xff0c;每$p-1$个$g$相乘会得到$1$&#xff0c;那么容易得到&…

区块链之智能合约详解

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 什么是智能合约&#xff1f; 智能合约又称智能合同&#xff0c;是由事件驱动的、具有状态的、获得多方承认的、运行在区块链之上的、且能够根据预设…

子类化内置类型

Python 2.2之后内置类型开始可以子类化了 但是&#xff0c;CPython中的内置类型不会调用用户重写的类的特殊方法。 PyPy的文档中描述了这个问题。subclasses-of-built-in-types 正式情况下&#xff0c;CPython 并没有官方规定内置类型的子类中重写的方法是否会被隐式调用。基本…

网上商城系统源代码_多用户系统商城授权有几种方式?

网上商城系统一般都需要获取正规授权才可以投入商业使用范围&#xff0c;许多系统开发商为了适应不同企业的需求提供了几种不同的授权方式&#xff0c;企业可以选择合适的方式获得系统的使用权。下面HiShop小编就来为大家介绍一下多用户商城系统的授权方式。一、多用户系统商城…

java学习:对synchronized的测试

平时对synchronized这个关键字没有太在意&#xff0c;对它的认识停留在粗略翻了一下百度百科的状态&#xff0c;百度百科对它的解释是&#xff1a; “Java语言的关键字&#xff0c;可用来给对象和方法或者代码块加锁&#xff0c;当它锁定一个方法或者一个代码块的时候&#xff…

Selenium(3)

练习1&#xff1a;Ecshop  录制登录后退出业务  打开系统  存储页面的标题     a.点击"登录"按钮     b.输入用户名&#xff1a;testing      存储输入的用户名     c.输入密码&#xff1a;123456     d.点击"立即登录"按钮 …

php 爬虫_Rad爬虫结合W13Scan扫描器挖掘漏洞

一、背景这几天一直在研究W13Scan漏洞扫描器&#xff0c;因为对Python不是太熟悉&#xff0c;所以进度有点慢&#xff0c;一直没看懂怎么将代理请求的数据转发到扫描队列中去&#xff0c;决定先熟悉熟悉这个功能再说&#xff1b;Rad爬虫最近比较火&#xff0c;于是就是就选择它…

Python 爬取网页HTML代码

#/usr/bin/env python #-*- coding:utf-8 -*-import urllib2 import sys import chardetreq urllib2.Request("http://tycool.top/") content urllib2.urlopen(req).read() typeEncode sys.getfilesystemencoding()##系统默认编码 infoencode chardet.detect(con…

区块链兼容以太坊智能合约

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 引言 随着区块链技术以及应用的普及&#xff0c;越来越多的区块链出现在大众视野中。由于区块链技术的开源特性&#xff0c;任何公司和个人都可以…