14号就ccpc全国赛的全国赛了 而且也快东北赛的选拔赛了

现在队伍实力实在不行 参加了也是边缘化的队伍

虽然有新生保护的设置

但实话说 机会还是不大

所以不如趁现在开始好好努力 明年也许还有机会

An Ac a Day ( of course not keep a girl away ^_^ )

题意呢 一个人开火车 一个人开大巴 火车走铁路 大巴走公路

现在有n个城镇 每两个城镇之间都有路

其中m条铁路 其他的都是公路 要求两个人都从1开始走 途中不相遇 问最快要多久

题面比较诡异 两个人 还不允许相遇

不过题中已经说了每两个城镇之间都有路 所以1到n之间一定有一条公路或一条铁路

因此一定至少有一个人在t=1时就到了 这就不用考虑相遇的事了

接下来对另外一个人最短路就好了~

400的数据Floyd暴力都是可以的 不过闲着也是闲的 复习一下Dijkstra

 #include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<string.h>
#include<string>
#include<map>
#include<set>
#include<vector>
#include<queue>
#define M(a,b) memset(a,b,sizeof(a))
#define ll long long
using namespace std;
const int inf=0x3f3f3f;
bool vis[];
bool way[][];
int lowcost[];
int n,m;
void Dijkstra(){
for(int i=;i<=n;i++)
lowcost[i]=inf;
lowcost[]=;
for(int i=;i<=n;i++){
int k=-;
int min_=inf;
for(int j=;j<=n;j++){
if(!vis[j]&&lowcost[j]<min_){
min_=lowcost[j];
k=j;
}
if(k==-) continue;
vis[k]=true;
for(int j=;j<=n;j++){
if(!vis[j]&&lowcost[k]+way[k][j]<lowcost[j]&&way[k][j])
lowcost[j]=lowcost[k]+way[k][j];
}
}
}
}
int main(){
scanf("%d%d",&n,&m);
int a,b;
for(int i=;i<m;i++){
scanf("%d%d",&a,&b);
way[a][b]=way[b][a]=true;
}
if(way[][n])
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
if(i!=j) way[i][j]=!way[i][j];
Dijkstra();
if(lowcost[n]>=inf) printf("-1\n");
else printf("%d\n",lowcost[n]);
return ;
}

[ An Ac a Day ^_^ ] CodeForces 601A The Two Routes 最短路的更多相关文章

  1. codeforces 601A The Two Routes(最短路 flody)

    A. The Two Routes time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  2. CodeForces - 601A The Two Routes

    http://codeforces.com/problemset/problem/601/A 这道题没想过来, 有点脑筋急转弯的感觉了 本质上就是找最短路径 但是卡在不能重复走同一个点 ----> ...

  3. codeforces 689 Mike and Shortcuts(最短路)

    codeforces 689 Mike and Shortcuts(最短路) 原题 任意两点的距离是序号差,那么相邻点之间建边即可,同时加上题目提供的边 跑一遍dijkstra可得1点到每个点的最短路 ...

  4. Codeforces 601A:The Two Routes 宽搜最短路径

    A. The Two Routes time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  5. codeforces 667D D. World Tour(最短路)

    题目链接: D. World Tour time limit per test 5 seconds memory limit per test 512 megabytes input standard ...

  6. codeforces#1196F. K-th Path(最短路,思维题)

    题目链接: https://codeforces.com/contest/1196/problem/F 题意: 在无向图的所有最短路点对中,求出第$k$大 数据范围: $ 1 \leq k \leq ...

  7. CodeForces 709B Checkpoints (数学,最短路)

    题意:给定你的坐标,和 n 个点,问你去访问至少n-1个点的最短路是多少. 析:也是一个很简单的题,肯定是访问n-1个啊,那么就考虑从你的位置出发,向左访问和向右访问总共是n-1个,也就是说你必须从1 ...

  8. codeforces 689B Mike and Shortcuts 最短路

    题目大意:给出n个点,两点间的常规路为双向路,路长为两点之间的差的绝对值,第二行为捷径,捷径为单向路(第i个点到ai点),距离为1.问1到各个点之间的最短距离. 题目思路:SPFA求最短路 #incl ...

  9. Codeforces 938D. Buy a Ticket (最短路+建图)

    <题目链接> 题目大意: 有n座城市,每一个城市都有一个听演唱会的价格,这n座城市由m条无向边连接,每天变都有其对应的边权.现在要求出每个城市的人,看一场演唱会的最小价值(总共花费的价值= ...

随机推荐

  1. DuiLib 中滚动条不显示的问题

    DuiLib 很好用,同时在没有完全理解源码的前提下,坑也不少,比如今天遇到的添加滚动条不显示... 情况是这样的,将一个页面作为Tab控件的其中一页,为了代码不窝在一起,就没有在CreateCont ...

  2. ConfigurationManager 缓存刷新

    服务没有停止的情况下,如果修改了配置,如果不刷新,是不会生效的,需要在每次重新读取配置前刷新配置文件,具体如下: ConfigurationManager.RefreshSection("a ...

  3. python2 基础

    标识符 标识符是由字母,下划线和字母组成的字符序列标识符必须以字母,下划线开头,不能以数字开头标识符不能是关键字标识符可以为任意长度 算术运算符+-*///**% 科学记数法 aEb 或者aE+b例: ...

  4. Python中fileinput模块使用

    fileinput模块可以对一个或多个文件中的内容进行迭代.遍历等操作.该模块的input()函数有点类似文件 readlines()方法,区别在于前者是一个迭代对象,需要用for循环迭代,后者是一次 ...

  5. 【Python】考虑用生成器改写直接返回列表的函数

    使用生成器的好处是显而易见的,可以使代码更加清晰,同时减小内存的消耗,当函数需要返回列表,把函数改写为生成器是相对容易的. 下面这两个函数返回字符串中每个单词的索引: def index_words1 ...

  6. live555—VS2010/VS2013 下live555编译、使用及测试(转载)

    Ⅰ live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等 的支持.Live555实现了对多种音视频 ...

  7. vim 常用操作

    a 进入INSERT MODE x 删除当前光标下的字符dw 删除光标之后的单词剩余部分.d$ 删除光标之后的该行剩余部分.dd 删除当前行. c 功能和d相同,区别在于完成删除操作后进入INSERT ...

  8. androidstudio下载地址

    google官网地址 https://developer.android.com/studio/index.html

  9. Maven项目下WEB-INFO目录下没有编译的classes文件

    建立mavan项目之后,在项目目录中没有发现编译的classes文件夹 解决办法: 因为maven是默认将编译后的classes文件存入项目下的target文件夹中,所以我们需要修改编译后存放的路径, ...

  10. linux下卸载和安装mysql数据库的方法

    1.1  MySQL下载 下载地址:http://www.mysql.com/downloads/mysql/5.5.html#downloads 版本:5.1.68 平台:linux general ...