poj1847 最短路

时间:2022-12-19 19:13:17
 //Accepted    188 KB    32 ms
 //spfa 最短路
 //每个intersection到第一个连接点是不要switch的
 //到其他的intersection要switch一次
 #include <cstdio>
 #include <cstring>
 #include <iostream>
 #include <queue>
 #include <cmath>
 #include <algorithm>
 using namespace std;
 /**
   * This is a documentation comment block
   * 如果有一天你坚持不下去了,就想想你为什么走到这儿!
   * @authr songt
   */
 ;
 ;
 int a[imax_n][imax_n];
 bool vis[imax_n];
 int dis[imax_n];
 int n;
 bool relax(int u,int v,int c)
 {
     if (dis[v]>dis[u]+c)
     {
         dis[v]=dis[u]+c;
         return true;
     }
     return false;
 }
 queue<int > Q;
 void spfa(int src)
 {
     while (!Q.empty()) Q.pop();
     memset(vis,,sizeof(vis));
     ;i<=n;i++)
     dis[i]=inf;
     dis[src]=;
     Q.push(src);
     vis[src]=true;
     while (!Q.empty())
     {
         int pre=Q.front();
         Q.pop();
         vis[pre]=false;
         ;i<=n;i++)
         if (relax(pre,i,a[pre][i]) && !vis[i])
         {
             Q.push(i);
             vis[i]=true;
         }
     }
 }
 int start,end;
 int main()
 {
     int x,y,cnt;
     while (scanf("%d%d%d",&n,&start,&end)!=EOF)
     {
         ;i<=n;i++)
         {
             ;j<=n;j++)
             a[i][j]=inf;
             a[i][i]=;
         }
         ;i<=n;i++)
         {
             scanf("%d",&cnt);
             )
             {
                 scanf("%d",&x);
                 a[i][x]=;
                 cnt--;
             }
             ;j<cnt;j++)
             {
                 scanf("%d",&x);
                 a[i][x]=;
             }
         }
         //printf("gg\n");
         spfa(start);
         ;
         if (dis[end]==inf) printf("-1\n");
         else
         printf("%d\n",dis[end]);
     }
     ;
 }

poj1847 最短路的更多相关文章

  1. N - Tram - poj1847(简单最短路)

    题意:火车从一点开到另一点,轨道上有很多岔路口,每个路口都有好几个方向(火车能够选任意一个方向开),但是 默认的是 第一个指向的方向,所以如果要选择别的方向的话得 进行一次切换操作 ,给定一个起点一个 ...

  2. POJ1847:Tram(最短路)

    Tram Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 20116   Accepted: 7491 题目链接:http:/ ...

  3. POJ-1847 Tram&lpar; 最短路 &rpar;

    题目链接:http://poj.org/problem?id=1847 Description Tram network in Zagreb consists of a number of inter ...

  4. poj1847 Tram 最短路Dijkstra

    题目链接:http://poj.org/problem?id=1847 Dijkstra算法的模版应用 题意:给你N个点和起点终点,点与点有铁路,接下来的N行分别为点i的情况 第一个数字表示与该点连通 ...

  5. poj1847 Tram(最短路dijkstra)

    描述: Tram network in Zagreb consists of a number of intersections and rails connecting some of them. ...

  6. poj1847 Tram(Dijkstra &vert;&vert; Floyd &vert;&vert; SPFA)

    题目链接 http://poj.org/problem?id=1847 题意 有n个车站,编号1~n,每个车站有k个出口,车站的出口默认是k个出口中的第一个,如果不想从默认出口出站,则需要手动选择出站 ...

  7. bzoj1001--最大流转最短路

    http://www.lydsy.com/JudgeOnline/problem.php?id=1001 思路:这应该算是经典的最大流求最小割吧.不过题目中n,m<=1000,用最大流会TLE, ...

  8. 【USACO 3&period;2】Sweet Butter(最短路)

    题意 一个联通图里给定若干个点,求他们到某点距离之和的最小值. 题解 枚举到的某点,然后优先队列优化的dijkstra求最短路,把给定的点到其的最短路加起来,更新最小值.复杂度是\(O(NElogE) ...

  9. Sicily 1031&colon; Campus (最短路)

    这是一道典型的最短路问题,直接用Dijkstra算法便可求解,主要是需要考虑输入的点是不是在已给出的地图中,具体看代码 #include<bits/stdc++.h> #define MA ...

随机推荐

  1. Chrome开发者工具不完全指南(四、性能进阶篇)

    前言 Profiles面板功能的作用主要是监控网页中各种方法执行时间和内存的变化,简单来说它就是Timeline的数字化版本.它的功能选项卡不是很多(只有三个),操作起来比较前面的几块功能版本来说简单 ...

  2. Convert Excel data to MDB file

    所需组件: microsoft ado ext. 2.8 for ddl and security 或者更新的组件. 添加: using ADOX;using System.Runtime.Inter ...

  3. linux red hat 安装svn

    安装步骤如下: 1.yum install subversion   2.输入rpm -ql subversion查看安装位置,如下图:   我们知道svn在bin目录下生成了几个二进制文件. 输入 ...

  4. CSS:static&sol;relative&sol;absolute

    static - default and this is the FLOW. ------------------------------------------------------------- ...

  5. 话说python

    前几年就职于一个大的软件公司时,开发过程中,有一个流程化的步骤要做,就是要由一个excel文档导出生成一堆sql语句.当时使用一个高手写的代码,只不过有限几行代码(应该不到100行),就完美实现此功能 ...

  6. 测试驱动开发TDD&lpar;test drive development&rpar;

    classpath,路径列表.告诉java需要加载类的存放位置, java会去搜寻.这种机制实现了动态加载. java -cp 加载类路径 执行类名   : 加载类路径可是绝对,也可以相对. 代码重构 ...

  7. Linux &lpar;Redhat &sol; Fedora &sol; CentOS&rpar; 更改 hostname 的方式

    Linux (Redhat / Fedora / CentOS) 更改 hostname 的方式 [蔡宗融個人網站]https://www.ichiayi.com/wiki/tech/linux_ho ...

  8. file&lowbar;get&lowbar;contents&lpar;&rpar;&colon; php&lowbar;network&lowbar;getaddresses&colon; getaddrinfo failed&colon; Name or service not known

    请求页面时候报错 file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not know ...

  9. HP Microserver Gen8 Processor FAQ

    http://homeservershow.com/forums/index.php?/topic/6596-hp-microserver-gen8-processor-faq/ This guide ...

  10. Java学习--Jsp简介