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. Bucket Sort - leetcode [桶排序]

    桶排序(Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶里.每个桶再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序).桶排序是鸽巢排序 ...

  2. iOS杂货

    iOS 导航栏TitleView居中的问题 titleVIew 默认情况下 是居中显示的,出现不居中的情况原因有两个:1,leftBarButtonItem,和rightBarButtonItem 留 ...

  3. CSS样式类型

    CSS样式可以写在哪些地方呢?从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式.嵌入式和外部式三种.这一小节先来讲解内联式 (一)内联式样式 内联式css样式表就是把css代码直接写在现有 ...

  4. jmeter之jtl文件解析

    我们知道命令行的方式执行完成jmeter后,会生成jtl文件,里面打开后就是一行行的测试结果, <httpSample t="1" lt="1" ts=& ...

  5. nodejs 中es5 模块的几种写法

    1. module.exports.func = function(){}  module.exports.field = ''; 第一种是逐个对api 和字段导出. 2. module.export ...

  6. html的简单表单制作...day5 php

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. Openjudge-NOI题库-和数

    题目描述 Description 给定一个正整数序列,判断其中有多少个数,等于数列中其他两个数的和. 比如,对于数列1 2 3 4, 这个问题的答案就是2, 因为3 = 2 + 1, 4 = 1 + ...

  8. MVC 5 属性路由中添加自己的自定义约束

    介绍约束 ASP.NET MVC和web api 同时支持简单和自定义约束,简单的约束看起来像: routes.MapRoute("blog", "{year}/{mon ...

  9. Log4J1升级Log4J2

    近期,碰到需要将项目中的Log4J1升级到Log4J2,现进行下总结.交代下技术背景:web项目,基于Java + Maven 1. 依赖 <dependency> <groupId ...

  10. ARXObject的入门学习

    刚刚学习一样新东西的时候,首先要解决的几个问题 1. 任何搭建一个项目环境: 2. 新建一个项目的流程: 3. 调试: 4. 熟悉其API: 5. 错误积累与解决办法: 6. 其中隐含的语法知识和UM ...