zoukankan      html  css  js  c++  java
  • 最短路A

     题意:求从1到n的最短路距离

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cmath>
    #include <queue>
    #include <stack>
    
    using namespace std;
    
    #define maxn 2005
    
    int head[maxn];
    int cnt;
    int visit[maxn];
    int dist[maxn];
    const int oo=0x3f3f3f3f;
    struct node
    {
        int u,v,next,w;
    }e[maxn];
    
    void Init(int Start,int End)
    {
        for(int i=Start;i<=End;i++)
            dist[i]=oo;
        memset(head,-1,sizeof(head));
        for(int i=Start;i<=End;i++)
            e[i].next=-1;
    }
    
    void add(int u,int v,int w)
    {
        e[cnt].u=u;
        e[cnt].v=v;
        e[cnt].w=w;
        e[cnt].next=head[u];
        head[u]=cnt++;
    }
    
    int Spfa(int Start,int End)
    {
        stack<int>sta;
        dist[Start]=0;
        sta.push(Start);
        memset(visit,0,sizeof(visit));
        while(sta.size())
        {
            int s=sta.top();
            sta.pop();
            visit[s]=0;
            for(int i=head[s];i!=-1;i=e[i].next)
            {
                int u=e[i].u;
                int v=e[i].v;
                int w=e[i].w;
                if(dist[u]+w<dist[v])
                {
                    dist[v]=dist[u]+w;
                    if(visit[v]==0)
                    {
                        visit[v]=1;
                        sta.push(v);
                    }
                }
            }
        }
        return dist[End];
    }
    
    int main()
    {
        int t,n;
        while(~scanf("%d",&t))
        {
            scanf("%d",&n);
            Init(1,n);
            int u,v,w;
            for(int i=1;i<=t;i++)
            {
                scanf("%d%d%d",&u,&v,&w);
                add(u,v,w);
                add(v,u,w);//由于未添加这个边,错啦n多次。
            }
            int ans=Spfa(1,n);
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    登陆跳转回原来页面
    magento获取当前浏览器的url和对url判断处理
    Magento获取购物车所有信息
    magento查询商品库存
    金额转换成0.00的形式
    Magento网站运行原理解析
    linux下如何禁用root账户直接登陆
    web前端常用的10个jQuery特效总结
    js函数
    网站css
  • 原文地址:https://www.cnblogs.com/mengzhong/p/4840367.html
Copyright © 2011-2022 走看看