博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 2544 最短路(两点间最短路径)
阅读量:5737 次
发布时间:2019-06-18

本文共 1658 字,大约阅读时间需要 5 分钟。

题目:

方法一:dijkstra算法,求两点之间最短路径。

/************************************************************************//*             hdu  最短路        两点之间最短路径        题目大意:dijkstra求两点之间最短路径。*//************************************************************************/#include 
#include
#include
#include
#define MAX 0xfffffffconst int N = 101;int map[N][N];int vis[N];int dj[N];int num,m,n;void build_map(){ int a,b,c; for (int i = 1; i <= n; i++) for (int j = i; j <= n; j++) map[i][j] = map[j][i] = (i==j)?0:MAX; for (int i = 0; i < m; i++) { scanf("%d%d%d",&a,&b,&c); map[a][b] = map[b][a] = c; }}int DJ(){ int t = n; int sum = 0; int min,k; for (int i = 1; i <= n; i++) dj[i] = MAX; int cur = 1; dj[cur] = 0; while(1) { min = MAX; vis[cur] = 1; for (int i = 1; i <= n; i++) { if(vis[i]==1)continue; if(dj[i]>map[i][cur]+dj[cur]) dj[i] = map[i][cur]+dj[cur]; if (dj[i]

方法二:floyd算法,求两点之间最短距离, distance[i][j] = min(distance[i][j], distance[i][k]+distance[k][j]);借助中间点。

/************************************************************************//*             hdu  最短路        两点之间最短路径        题目大意:floyd算法,求得两点之间最短距离,(u,v) = min( (u,v),(v,w)+(w,v) );*//************************************************************************/#include 
#include
#include
#include
#define MIN(a,b) a

 

本文转自NewPanderKing51CTO博客,原文链接:http://www.cnblogs.com/newpanderking/p/3253761.html ,如需转载请自行联系原作者

你可能感兴趣的文章
给出2个数和一个运算符号,用函数求结果
查看>>
dev accordionControl panelcontorl 使用
查看>>
CORBA简介
查看>>
Silverlight程序之修改命名空间
查看>>
Huffman树与最优二叉树续
查看>>
Python 日历模块calendar.monthrange 获取某一个月有多少天
查看>>
TP条件查询和分页查询
查看>>
文件加密二进制版本
查看>>
Hibernate入门(七)一对多入门案例
查看>>
我不想为了成全别人而活
查看>>
Catalog
查看>>
驱动学习笔记(零)一篇简单makefile的学习
查看>>
编写灵活、可扩展程序的步骤与方法(学院派)
查看>>
Python 之 模块
查看>>
MOSS2007备份还原后搜索服务出现的问题
查看>>
Oracle删除一个库里面的所有表
查看>>
spring声明式事务管理方式( 基于tx和aop名字空间的xml配置+@Transactional注解)
查看>>
4、jeecg 笔记之 自定义显示按钮 (exp 属性)
查看>>
JdbcUtils
查看>>
修改主键id为自增
查看>>