单源最短路SPFA
2024-09-29 18:10:19
#include<iostream>
#include<queue>
#include<cstring>
#define INF 0x3f3f3f3f
using namespace std;
int main()
{
int n,m,x,y,val,now,map[][],dis[],vis[];
while(cin>>n>>m)
{
queue<int>q;
if(n==&&m==)
break;
memset(vis,,sizeof(vis));
for(int i=;i<n;i++)
{
for(int j=;j<n;j++)
{
if(i==j)
map[i][j]=;
else
map[i][j]=INF;
}
}
for(int i=;i<m;i++)
{
cin>>x>>y>>val;
map[x-][y-]=val;
map[y-][x-]=val;
}
for(int i=;i<n;i++)
{
dis[i]=INF;
}
dis[]=;
vis[]=;
q.push();
while(!q.empty())
{
now=q.front();
q.pop();
vis[now]=;
for(int i=;i<n;i++)
{
if(dis[i]>dis[now]+map[now][i])
{
dis[i]=dis[now]+map[now][i];
if(vis[i]==)
{
q.push(i);
vis[i]=;
}
}
}
}
cout<<dis[n-]<<endl;
}
}
最新文章
- mono for android学习过程系列教程(3)
- JavaScript 函数的两种声明方式
- OpenStack调研:OpenStack是什么、版本演变、组件关系(Havana)、同类产品及个人感想
- 利用注解进行sql反射代码示例
- CSS基础知识真难啊-background-渐变
- win7(64)位下WinDbg64调试VMware10下的win7(32位)
- UVA 10391 stl
- 小而美的js程序
- spring mvc 接收页面表单List
- iOS开发笔记-两种单例模式的写法
- 用jQuery实现优酷首页轮播图
- 第九章:Python の 网络编程基础(一)
- 防止Android程序被系统kill掉的处理方法
- 分布式进阶(十一) Docker 常见错误汇总
- Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第六集之补充:文本编辑器vi/vim】
- AOP中使用Aspectj对接口访问权限进行访问控制
- Kubernetes之存储
- 内存管理 re模块
- Jsoup解析获取品花社图片
- 微信小程序 text属性设置 WXSS样式
热门文章
- 01.课程介绍 &; 02.最小可行化产品MVP
- MR 图像分割 相关论文摘要整理
- C++类静态变量的一种使用特例
- bootstrap的tab中,echarts 图表宽度设为100%之后,会出现图表宽带变为100px的情况。只有第一个正常
- Qt开篇
- c# Marshal.PtrToStructure(StructPtr, typeof(T)); 特别注意
- P3803 【模板】多项式乘法(NTT)
- sequoiadb sdbexprt 导入工具进阶使用
- 【SpringCloud构建微服务系列】分布式链路跟踪Spring Cloud Sleuth
- react native 安卓打包--mac环境,如果打包不成功可注意下my-release-key.keystore的位置关系(绝对路径)