/**
图论之最短路径Dijkstra算法
*/
#include<string.h>
#include<stdio.h>
#include<vector>
#include<queue> using namespace std; const int MAXN = 200;
const int INF = 0x7fffffff;
struct Edge
{
int to ;
int length;
Edge(int t, int l):to(t), length(l) {}
};
vector<Edge> graph[MAXN];
int dis[MAXN];
bool visit[MAXN]; void Dijkstra (int start, int n)
{
memset(visit, false, sizeof(visit));
fill(dis, dis+n, INF);
dis[start] = 0; for(int i=0;i<n;i++)
{
int u=-1;
for(int j=0;j<n;j++)
{
if(visit[j]) continue;
if(u == -1 || dis[j]<dis[u])
{
u = j;
} }
for(int j=0;j<graph[u].size();j++)
{
int v = graph[u][j].to;
int d = graph[u][j].length;
if(dis[u] + d < dis[v])
{
dis[v] = dis[u] + d;
}
}
visit[u] = true;
}
return ;
}
int main ()
{
int n,m;
scanf("%d%d",&n,&m);
memset(graph, 0, sizeof(graph));
while(m--)
{
int from, to, length;
scanf("%d%d%d", &from, &to, &length);
graph[from].push_back(Edge(to, length));
graph[to].push_back(Edge(from, length));
}
int start, terminal;
scanf("%d%d",&start, &terminal);
Dijkstra(start, n);
if(dis[terminal] == INF)
{
dis[terminal] = -1;
}
printf("%d\n",dis[terminal]);
return 0;
}
/**
3 3
0 1 1
0 2 3
1 2 1
0 2
输出2
3 1
0 1 1
1 2
输出-1
*/

最新文章

  1. 360浏览器兼容模式默认显示ie最高版本
  2. PHP函数处理函数实例详解
  3. JQuery源码分析(六)
  4. 阅读Google的C++代码规范有感
  5. Samza文档翻译 : Comparison Introduction
  6. ACM1019_最大公倍数
  7. bmp文件格式详细解析
  8. 手机自动化测试:Appium源码之API(2)
  9. 团队作业4——第一次项目冲刺(Alpha版本) Day2
  10. cmake安装配置及入门指南
  11. LOJ #6303. 水题 (约数 质因数)
  12. Tomcat 部署项目无法加载静态资源
  13. opencv处理验证码python代码
  14. pyhanlp 文本聚类详细介绍
  15. Web 开发
  16. linux C 线程池(物不可穷也~)
  17. ArgumentException: 已添加了具有相同键的项。
  18. linux -- Ubuntu报错“unable to locate package...”
  19. java EE ME SE有什么关系
  20. 【LeetCode 8_字符串_实现】String to Integer (atoi)

热门文章

  1. 【Oracle】Oracle读取RAW二进制类型并实现与十六进制的相互转换
  2. 【实时数仓】Day06-数据可视化接口:接口介绍、Sugar大屏、成交金额、不同维度交易额(品牌、品类、商品spu)、分省的热力图 、新老顾客流量统计、字符云
  3. Navicat Premium无法连接到oracle数据库的解决方法
  4. 知识分享-消息中间件详解+rabbitMQ
  5. 国产paozhu c++ web framework 正式版发布
  6. [OpenCV实战]49 对极几何与立体视觉初探
  7. 3_多维数组转一维数组 reduce()
  8. Input源码解读——从&quot;Show tabs&quot;开始
  9. 华为云Stack新版发布:构筑行业云底座,共创行业新价值
  10. day08-AOP-01