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. Vultr日本vps搭建ss/ssr/openvpn免流教程

    每个月的手机流量不够用,运营商流量套餐价格偏高,怎么才能省钱?你在淘宝上,搜索手机免流,可找到很多奸商销售免流套餐,一块钱可买1GB流量,免流原理是什么?自己能搞吗? 手机免流原理 手机运营商中国电信 ...

  2. 鼠标形状css样式

    鼠标形状css样式 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  3. Python 实现类似PHP的strip_tags函数功能,并且可以自定义设置保留标签

    最近在研究 Python ,发现用的还是很不习惯,很多PHP里面很简单的功能在Python 里面都得找半天,而且很多功能都得自己实现. 今天做个采集,需要过滤内容中的标签,搞了一下午,貌似终于搞出来了 ...

  4. POJ 3139 Balancing the Scale

    枚举. 看了这个方法:$http://www.cppblog.com/shiming413/archive/2008/12/21/29671.html$ 将数字归类的地方不能用$vector$,会超时 ...

  5. vue实例生命周期

    实例生命周期 var vm = new Vue({ data: { a: 1 }, created: function () { // `this` 指向 vm 实例 console.log('a i ...

  6. 使用ajax和history.pushState无刷新改变页面URL(转)

    表现 如果你使用chrome或者firefox等浏览器访问本博客.github.com.plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发 ...

  7. Python语法基础(长期)

    os.mkdir和os.mkdirs的区别? 前者如果"中间路径"不存在,会抛出异常,后者则会自动创建中间路径. map(function, iterable) 对于可迭代函数`` ...

  8. 🐒-mysql(1)

    Mac 终端启动mysql 本文下载的mysql版本为:5.7.17.MySQL Workbench版本为:5.2.47(后面会提及如何选择下载版本) 一.下载MySQL 1.1.访问http://w ...

  9. openstack 装逼之路~openstack各组件关系

    先来张图

  10. python--函数式登录程序

    # Author:Tim Gu def login(username,password): """这个login函数用于用户登录的验证 :param username:用 ...