• HDU2680 Choose the best route


    题目大意:一个笨蛋要坐车去朋友家,但坐车呕吐,所以想在最短时间内到达。

    测试数据意思:

    第一行三个数:n(车站的个数,n<1000)  |  m(代表车站之间所有线路的总个数)  | s(代表离朋友家最近的车站)

    下面有m行:   p q t   意思是:一条从p到q的线路,花费t时间

    m行之后有个数字:w (代表可以在开始时搭乘的车站)

    下面w个数W1,W2....Ww就是车站的编号

     dijkstra:

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <string>
    #include <queue>
    #include <cmath>
    #include <vector>
    #include <algorithm>
    using namespace std;
    #define inf 1e8
    struct node
    {
        int x,d;
        node(){}
        node(int a,int b){x=a;d=b;}
        bool operator < (const node &a) const
        {
            if(d==a.d) return x<a.x;
            else return d>a.d;
        }
    };
    vector<node>eg[1005];
    int n,m,k,w,dis[1005],a,b,t;
    void dijkstra(int x)
    {
        for(int i=1;i<=n;i++)
            dis[i]=inf;
        dis[x]=0;
        priority_queue<node>q;
        q.push(node(x,0));
        while(!q.empty())
        {
            node x=q.top();
            q.pop();
            for(int i=0;i<eg[x.x].size();i++)
            {
                node y=eg[x.x][i];
                if(dis[y.x]>x.d+y.d)
                {
                    dis[y.x]=x.d+y.d;
                    q.push(node(y.x,dis[y.x]));
                }
            }
        }
    }
    int main()
    {
        //freopen("in.txt","r",stdin);
        while(~scanf("%d%d%d",&n,&m,&k))
        {
            for(int i=1;i<=n;i++)
                eg[i].clear();
            while(m--)
            {
                scanf("%d%d%d",&a,&b,&t);
                eg[b].push_back(node(a,t));
            }
            dijkstra(k);
            scanf("%d",&w);
            int ans=inf;
            while(w--)
            {
                scanf("%d",&a);
                if(dis[a]<ans) ans=dis[a];
            }
            if(ans<inf) printf("%d
    ",ans);
            else printf("-1
    ");
        }
        return 0;
    }

     spfa:

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <string>
    #include <queue>
    #include <cmath>
    #include <vector>
    #include <algorithm>
    using namespace std;
    #define inf 1e8
    struct node
    {
        int x,s;
        node(int a,int b){x=a;s=b;}
    };
    vector<node>eg[1005];
    int n,m,k,a,b,s,dis[1005];
    bool vis[1005];
    void spfa(int x)
    {
        memset(vis,false,sizeof(vis));
        for(int i=1;i<=n;i++)
            dis[i]=inf;
        dis[x]=0;
        vis[x]=true;
        queue<int>q;
        q.push(x);
        while(!q.empty())
        {
            int y=q.front();
            q.pop();
            vis[y]=false;
            for(int i=0;i<eg[y].size();i++)
            {
                int p=eg[y][i].x,s=eg[y][i].s;
                if(dis[p]>dis[y]+s)
                {
                    dis[p]=dis[y]+s;
                    if(vis[p]==false)
                    {
                        vis[p]=true;
                        q.push(p);
                    }
                }
            }
        }
    }
    int main()
    {
        //freopen("in.txt","r",stdin);
        while(~scanf("%d%d%d",&n,&m,&k))
        {
            for(int i=1;i<=n;i++)
                eg[i].clear();
            while(m--)
            {
                scanf("%d%d%d",&a,&b,&s);
                eg[b].push_back(node(a,s));
            }
            spfa(k);
            int ans=inf;
            scanf("%d",&m);
            while(m--)
            {
                scanf("%d",&a);
                if(ans>dis[a]) ans=dis[a];
            }
            if(ans<inf) printf("%d
    ",ans);
            else printf("-1
    ");
        }
        return 0;
    }
  • 相关阅读:
    Some projects cannot be imported because they already exist in the workspace 解决方法!!!
    Python XLRDError: Excel xlsx file; not supported解决方法
    多人VNC远程桌面服务配置
    手把手教你配置KVM服务器
    Python实现加密压缩成RAR或ZIP文件
    Python实现加密的ZIP文件解压(密码已知)
    Python实现加密的RAR文件解压(密码已知)
    Office:应用程序无法正常启动0xc0000142
    引入transformers 报错 Segmentation fault (core dumped)
    Asymmetrical Hierarchical Networks with Attentive Interactions for Interpretable Review-Based Recommendation
  • 原文地址:https://www.cnblogs.com/d-e-v-i-l/p/4758300.html
Copyright © 2020-2023  润新知