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

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

虽然有新生保护的设置

但实话说 机会还是不大

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

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

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

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

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

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

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

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

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

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

  1. #include<stdio.h>
  2. #include<iostream>
  3. #include<algorithm>
  4. #include<math.h>
  5. #include<string.h>
  6. #include<string>
  7. #include<map>
  8. #include<set>
  9. #include<vector>
  10. #include<queue>
  11. #define M(a,b) memset(a,b,sizeof(a))
  12. #define ll long long
  13. using namespace std;
  14. const int inf=0x3f3f3f;
  15. bool vis[];
  16. bool way[][];
  17. int lowcost[];
  18. int n,m;
  19. void Dijkstra(){
  20. for(int i=;i<=n;i++)
  21. lowcost[i]=inf;
  22. lowcost[]=;
  23. for(int i=;i<=n;i++){
  24. int k=-;
  25. int min_=inf;
  26. for(int j=;j<=n;j++){
  27. if(!vis[j]&&lowcost[j]<min_){
  28. min_=lowcost[j];
  29. k=j;
  30. }
  31. if(k==-) continue;
  32. vis[k]=true;
  33. for(int j=;j<=n;j++){
  34. if(!vis[j]&&lowcost[k]+way[k][j]<lowcost[j]&&way[k][j])
  35. lowcost[j]=lowcost[k]+way[k][j];
  36. }
  37. }
  38. }
  39. }
  40. int main(){
  41. scanf("%d%d",&n,&m);
  42. int a,b;
  43. for(int i=;i<m;i++){
  44. scanf("%d%d",&a,&b);
  45. way[a][b]=way[b][a]=true;
  46. }
  47. if(way[][n])
  48. for(int i=;i<=n;i++)
  49. for(int j=;j<=n;j++)
  50. if(i!=j) way[i][j]=!way[i][j];
  51. Dijkstra();
  52. if(lowcost[n]>=inf) printf("-1\n");
  53. else printf("%d\n",lowcost[n]);
  54. return ;
  55. }

[ 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. HDU-------An Easy Task

    An Easy Task Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...

  2. JavaScript实现360度全景图片展示效果

    全景拍摄:所谓“全景拍摄”就是将所有拍摄的多张图片拼成一张全景图片.它的基本拍摄原理是搜索两张图片的边缘部分,并将成像效果最为接近的区域加以重合,以完成图片的自动拼接.现在的智能手机也基本带这个功能. ...

  3. 高效开发之SASS篇

    作为通往前端大神之路的普通的一只学鸟,最近接触了一样稍微高逼格一点的神器,特与大家分享~ 他是谁? 作为前端开发人员,你肯定对css很熟悉,但是你知道css可以自定义吗?大家都知道,js中可以自定义变 ...

  4. CodeForces 711C Coloring Trees

    简单$dp$. $dp[i][j][k]$表示:前$i$个位置染完色,第$i$个位置染的是$j$这种颜色,前$i$个位置分成了$k$组的最小花费.总复杂度$O({n^4})$. #pragma com ...

  5. Excel的 OleDb 连接串的格式(Provider=Microsoft.ACE.OLEDB)

    string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;data source=" + filePath + ";Exten ...

  6. 给go添加各种package

    go version 1.1.2 For example you need to install the webscoket pakeage try           go get code.goo ...

  7. 学习Java第一篇——Java 安装及环境搭配

    内容提要: 1.下载JDK: 2.安装JDK: 3.配置JDK;   第一,下载JDK:  1.登陆网址:www.oracle.com 2.点击 Downloads 3.选择 Java SE 4.选择 ...

  8. Java Script 学习笔记

    JS编程习惯类: 1. 命名 著名的变量命名规则 只是因为变量名的语法正确,并不意味着就该使用它们.变量还应遵守以下某条著名的命名规则: Camel 标记法 首字母是小写的,接下来的字母都以大写字符开 ...

  9. Kruskal算法的简单实现

    嘛嘛嘛,好像大家在实现Kruskal算法是都是用的边集数组,判断图的连通性咱不会,o(╯□╰)o(为什么咱这么菜诶) Kruskal算法: 规则: (1)对每一条边按照从小到大进行排序 (2)加入边的 ...

  10. [帖子收集]环境光遮蔽(Ambient Occlusion)

    环境光遮蔽,效果示例图 图片左边是一条龙的简单模型,呈现在一个均匀照明的环境中.尽管模型中有一些明暗不同的区域,但大部分光照都是均匀的.虽然模型有着相当复杂的几何形状,但看上去比较光滑平坦,没有明显的 ...