首页 技术 正文
技术 2022年11月17日
0 收藏 864 点赞 2,968 浏览 950 个字

\(problem\)

#ifdef Dubug#endif
#include <bits/stdc++.h>
using namespace std;
typedef long long LL ;
inline LL In() { LL res(0),f(1); register char c ;
while(isspace(c=getchar())) ; c == '-'? f = -1 , c = getchar() : 0 ;
while(res = (res << 1) + (res << 3) + (c & 15) , isdigit(c=getchar())) ;
return res * f ;
}int n , m ;const int N = 2500 + 5 ;
const int M = 200000 + 5 ;
const int Inf = INT_MAX ;
struct node {
int v,w;
int nxt ;
};int cnt(0) ;
node edge[M<<1] ;
int head[N] ;
int dis[N] ;inline void Add(int u,int v,int w) {
edge[++cnt].v = v ;
edge[cnt].w = w ;
edge[cnt].nxt = head[u] ;
head[u] = cnt ;
return ;
}bool vis[N] ;
queue< int > q;inline void Spfa(){
for(register int i=1;i<=n;i++) dis[i] = Inf , vis[i] = 0 ;
q.push(1) , dis[1] = 0 , vis[1] = 1 ;
while(!q.empty()){
int u=q.front() ;
q.pop() , vis[u] = 0 ;
for(register int i=head[u];i;i=edge[i].nxt){
int v = edge[i].v;
if(dis[v]>dis[u]+edge[i].w){
dis[v] = dis[u] + edge[i].w;
if(!vis[v]) vis[v] = 1 , q.push(v) ;
}
}
}
return ;
}
signed main() {
n = In() ; m = In() ;
for(register int i=1;i<=m;i++) {
int u , v , w ;
u = In() , v = In() , w = In() ;
Add(u,v,w) , Add(v,u,w) ;
}
Spfa() ;
cout << dis[n] << endl ;
return 0 ;
}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,086
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,561
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,410
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,183
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,820
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,903