最短路问题!

最简单的最短路问题!

恩!

#include<stdio.h>

#define MAX 1000000

int map[500][500];

int n,m,start,end;

int dist[500];

int s[500];

int Dijsktra(int start)

{


int i,j,mindis,u;


for(i=0;i<n;i++)


{


s[i]=0;


dist[i]=map[start][i];


}


s[start]=1;dist[start]=0;


for(i=0;i<n;i++)


{


mindis=MAX;


for(j=0;j<n;j++)


if(s[j]==0&&dist[j]<mindis)


{


mindis=dist[j];


u=j;


}


s[u]=1;


for(j=0;j<n;j++)


if(s[j]==0&&map[u][j]<MAX)


if(dist[u]+map[u][j]<dist[j])


{


dist[j]=dist[u]+map[u][j];


}


}


return dist[end];

}

int main()

{


int i,j,a,b,c;


while(scanf("%d%d",&n,&m)!=EOF)


{


for(i=0;i<n;i++)


for(j=0;j<n;j++)


{


map[i][j]=MAX;


}


for(i=0;i<m;i++)


{


scanf("%d%d%d",&a,&b,&c);


if(c<map[a][b])


{


map[a][b]=c;


map[b][a]=c;


}


}


scanf("%d%d",&start,&end);


if(Dijsktra(start)!=MAX)


printf("%d\n",Dijsktra(start));


else


printf("-1\n");


}


return 0;

}

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874

hdu 1874 畅通工程续(最短路)的更多相关文章

  1. HDU 1874 畅通工程续(最短路训练

    因为数据比较小 所以flyod spfa dijkstra 多可以过 Floyd #include <bits/stdc++.h> using namespace std; const i ...

  2. ACM: HDU 1874 畅通工程续-Dijkstra算法

    HDU 1874 畅通工程续 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Desc ...

  3. HDU 1874 畅通工程续-- Dijkstra算法详解 单源点最短路问题

    参考 此题Dijkstra算法,一次AC.这个算法时间复杂度O(n2)附上该算法的演示图(来自维基百科): 附上:  迪科斯彻算法分解(优酷) problem link -> HDU 1874 ...

  4. hdu 1874 畅通工程续

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1874 畅通工程续 Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过 ...

  5. HDU 1874畅通工程续(迪杰斯特拉算法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 畅通工程续 Time Limit: 3000/1000 MS (Java/Others)     ...

  6. HDU 1874 畅通工程续(最短路/spfa Dijkstra 邻接矩阵+邻接表)

    题目链接: 传送门 畅通工程续 Time Limit: 1000MS     Memory Limit: 65536K Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路. ...

  7. HDU 1874 畅通工程续【Floyd算法实现】

    畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  8. hdu 1874 畅通工程续 Dijkstra

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 题目分析:输入起点和终点,顶点的个数,已连通的边. 输出起点到终点的最短路径,若不存在,输出-1 ...

  9. hdu 1874 畅通工程续(求最短距离,dijkstra,floyd)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1874 /************************************************* ...

  10. hdu 1874 畅通工程续(迪杰斯特拉优先队列,floyd,spfa)

    畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

随机推荐

  1. 转载: C#: Left outer joins with LINQ

    I always considered Left Outer Join in LINQ to be complex until today when I had to use it in my app ...

  2. HDU 4099 Revenge of Fibonacci (数学+字典数)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4099 这个题目就是一个坑或. 题意:给你不超过40的一串数字,问你这串数字是Fibonacci多少的开头 ...

  3. 使用CXF+spring创建一个web的接口项目

    一.web project整合spring 1.1.打开Myeclipse,建立web project(eclipse为dynamic web project),使用J2EE5.0. 1.2.加入Sr ...

  4. hdu 3395

    KM裸题 每个鱼都认为自己是雄性,而且会攻击它认为是雌性的鱼,每个鱼只能被攻击一次,被攻击后会产卵(个数是给的两条鱼的值的异或运算) #include<string.h> #include ...

  5. Qt install Phonon

    sudo apt-get install libphonon-dev phonon-backend-gstreamer

  6. OpenSuse下编译MonoDevelop

    当访问Monodevelop.com官网下载的安装包,安装后,发现并不是最新版.在OpenSuse下载的是3.0版本.根据官网的指示,可以自己下载源码进行编译.按官网的指引: 1. $ git clo ...

  7. c标签的使用方法

    1. c:forEach <c:forEach items="> 注意varStatus相当于for循环计数器,从1开始,用${varStatus.count}获得计数器的值.而 ...

  8. hadoop mapreduce 端参数优化

    在MapReduce执行过程中,特别是Shuffle阶段,尽量使用内存缓冲区存储数据,减少磁盘溢写次数:同时在作业执行过程中增加并行度,都能够显著提高系统性能,这也是配置优化的一个重要依据. 下面分别 ...

  9. java 修改文件名

    // 修改文件名 public static boolean modifyFileName(String serverPath, String oldFileName, String newLogin ...

  10. 包装 request Demo

    //包装request,增强getParameter方法 class MyReq extends HttpServletRequestWrapper{ private HttpServletReque ...