dijksta 模板
2024-08-25 01:59:45
#include<bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
int dis[];
int visit[];
int SSSP[][];
void dijkstra(int x,int n)
{
int pos;
int minn;
for(int i=;i<=n;i++)
{
dis[i]=SSSP[][i];
}
visit[x]=;
dis[x]=;
for(int i=;i<=n;i++)
{
minn=INF;
pos=;
for(int j=;j<=n;j++)
{
if(!visit[j]&&dis[j]<minn)
{
pos=j;
minn=dis[j];
} }
if(pos==) break;
else
{
visit[pos]=;
for(int j=;j<=n;j++)
{
if(!visit[j]&& dis[pos]+SSSP[pos][j]<dis[j])
dis[j]=dis[pos]+SSSP[pos][j];
}
} }
}
int main()
{
int n,m; cin>>n>>m;
memset(visit,,sizeof(visit));
memset(dis,,sizeof(dis));
memset(SSSP,INF,sizeof(SSSP));
int a[];
int b[];
int t[];
for(int i=;i<=m;i++)
{
cin>>a[i]>>b[i]>>t[i];
SSSP[a[i]][b[i]]=t[i];
SSSP[b[i]][a[i]]=t[i];
}
dijkstra(,n); //1 -n ;
cout<<dis[n]<<endl;
}
最新文章
- SignalR + KnockoutJS + ASP.NET MVC4 实现井字游戏
- WampServer服务中MySQL无法正常启动解决方案
- dg_MeetingRoom 居中显示
- JDK1.7中调用javascript方法
- 淘宝IP地址库API接口(PHP)通过ip获取地址信息
- Linux命令:scp命令(文件上传和下载)
- git SSh key多个key对应多个项目
- C++习题 商品销售
- thinkphp3.2.3 版本使用redis缓存添加认证
- Oracle 启动参数
- python3实现链表
- 求助pycharm里import pandas遇到No module named pandas怎么办
- Strom的集群停止以及启动
- 【重新分配分片】Elasticsearch通过reroute api重新分配分片
- Django ---- blog项目学习所得
- C/C++基础----标准库几个工具库tuple,bitset,正则表达式,随机数,IO库
- rbtposeekf的注意事项
- hdu 3191 次短路的长度和个数
- Chrome 如何知道网站启用了SPDY 协议?
- Spring系列(四):Spring AOP详解和实现方式(xml配置和注解配置)