zoukankan      html  css  js  c++  java
  • P3371 【模板】单源最短路径(弱化版)

    // luogu-judger-enable-o2
    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    #include<queue>
    #define spfa zhx_ak_ioi
    
    using namespace std;
    
    const long long inf=2147483647;
    
    long long n,m,s;
    long long dis[10008],vis[10001],head[10001],num_edge=0;
    
    struct Edge{
        long long next,to,dis;
    }edge[500008]; 
    
    queue <long long> q;
    
    void addedge(long long from,long long to,long long dis)
    {
        num_edge++;
        edge[num_edge].next=head[from];
        edge[num_edge].to=to;
        edge[num_edge].dis=dis;
        head[from]=num_edge; 
    }
    
    void spfa()
    {
        for(long long i=1;i<=n;++i)
        {
            dis[i]=inf;
            vis[i]=0;
        }
        dis[s]=0;
        vis[s]=1;
        q.push(s);
        while(!q.empty())
        {
            long long u=q.front();
            q.pop();
            vis[u]=0;
            for(long long i=head[u];i;i=edge[i].next)
            {
                long long zhongdian=edge[i].to;
                if(dis[zhongdian]>dis[u]+edge[i].dis)
                {
                    dis[zhongdian]=dis[u]+edge[i].dis;
                    if(!vis[zhongdian])
                    {
                        q.push(zhongdian);
                        vis[zhongdian]=1;
                    }
                }
            }
        }
    }
    
    int main()
    {
        scanf("%lld %lld %lld",&n,&m,&s);
        for(long long i=1;i<=m;++i)
        {
            long long u,v,w;
            scanf("%lld %lld %lld",&u,&v,&w);
            addedge(u,v,w);
        }
        spfa();
        for(long long i=1;i<=n;++i)
        {
            if(i==s) printf("0 ");
            else printf("%lld ",dis[i]);
        }
        return 0;
    } 
  • 相关阅读:
    ubuntu安装后要做什么
    JavaScript错误处理
    jQuery 事件
    display的用法
    百度排名的原理
    什么是ajax?
    CSS文档流
    引用CSS的方法
    jQuery的安装方式
    禁止WPS2019开机自启动
  • 原文地址:https://www.cnblogs.com/lbssxz/p/10759128.html
Copyright © 2011-2022 走看看