• poj 1125 基础Floyd


    以后还是不把原题贴出来了。就说大意。

    题意:给出股市经纪人个数n,消息经过每个人需要一定时间,给出不同人之间消息传输的时间,求出从哪个人开始传输消息能最快传遍所有人。

    思路:多源的最短路,Floyd!。

    第一次做FLOYD:总结

    算法核心

    for k-n

    for i-n

    for j-n

        map[i][j]=min(map[i][j],map[i][k]+map[k][j])

    求出多源间的最短路,On^3,适合小规模的数组,凑密图。

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    #define inf 0x3f3f3f
    int map[101][101];
    void Floyd(int n)
    {
        int i,j,k;
        for(k=1;k<=n;k++)
            for(i=1;i<=n;i++)
                for(j=1;j<=n;j++)
                {
                    map[i][j]=min(map[i][j],map[i][k]+map[k][j]);
                }
                return ;
    }
    int main()
    {
        int i,j,k,time,ans,m;
        int mixn,maxn;
        int n;
        while(cin>>n)
        {
            if(n==0)
            break;
            ans=inf;
            for(i=1;i<=n;i++)
            for(j=1;j<=n;j++)
            {
                map[i][j]=inf;
            }
            for(i=1;i<=n;i++)
            {
                cin>>m;
                map[i][i]=0;
               for(j=1;j<=m;j++)
               {
                   cin>>k>>time;
                   map[i][k]=time;
                   //map[k][i]=time;
               }
            }
            Floyd(n);
            mixn=inf;
            for(i=1;i<=n;i++)
                {
                    maxn=0;
                    for(j=1;j<=n;j++)
                    if(map[i][j]>maxn)
                        maxn=map[i][j];
    
                    if(maxn<mixn)
                    {
                        mixn=maxn;
                        ans=i;
                    }
    
                }
                if(ans==inf)
                cout<<"disjoint"<<endl;
                else
                cout<<ans<<" "<<mixn<<endl;
        }
    }
    


     

  • 相关阅读:
    通过IDEA创建SpringMVC项目记录
    开发问题总结
    idea控制台乱码解决
    java获取文件是否文件夹
    oralce优化文章
    乱码踩坑记录
    oracle关于左连接失效的一些问题
    volatile关键字
    postman body formdata和xwwwformurlencoded区别
    [转][C#]ScottPlot
  • 原文地址:https://www.cnblogs.com/amourjun/p/5134226.html
Copyright © 2020-2023  润新知