zoukankan      html  css  js  c++  java
  • poj 1125 (floyd)

    #include<stdio.h>
    #define N 200
    #define max 999999
    int map[N][N],d[N];
    int n,ans,f;
    void init()
    {
        int i,j;
        for(i=0;i<=n;i++)
        {
            d[i]=-max;
            for(j=0;j<=n;j++)
              map[i][j]=max;
        }
        f=0;ans=max;
    }
    void  floyd()
    {
        int i,j,k;
    
        for( i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
            {
                for(k=1;k<=n;k++)
                {
                    int t=map[j][i]+map[i][k];
                    if(map[j][k]>t)
                    map[j][k]=t;
                }
            }
        }
    
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
            {
    
                if(d[i]<map[i][j]&&i!=j)
                {
                    d[i]=map[i][j];
    
                }
            }
        }
    }
    int main()
    {
        int l,num,a,b,i,j;
        while(scanf("%d",&n),n)
        {
            init();
            for(l=1;l<=n;l++)
            {
                scanf("%d",&num);
                while(num--)
                {
                    scanf("%d%d",&a,&b);
                    map[l][a]=b;
                }
            }
            floyd();
            for(i=1;i<=n;i++)
            {
                for(j=1;j<=n;j++)
                {
                    if(map[i][j]==max&&map[j][i]==max)
                    {
    
                    }
                    else  break;
                }
                if(j==n){f=0;break;}
            }
    
            /*for(i=1;i<=n;i++)
            {
                for(int j=1;j<=n;j++)
                {
                    printf("%d ",map[i][j]);
                }
                printf("\n");
            }*/
            for(i=1;i<=n;i++)
            {
                if(ans>d[i])
                {
                    ans=d[i];
                    f=i;
                }
            }
            if(!f)printf("disjoint\n");
            else
            {
                printf("%d %d\n",f,ans);
            }
    
    
        }
    }
    

      

  • 相关阅读:
    消除共模干扰的方法
    C#模拟键盘事件
    获取本地IP V4 出现::1
    生成ssh密钥
    苹果应用商店DNS修改加快下载速度
    模算术 modular arithmetic
    有限域和质数的幂
    rere
    test
    图信号处理进行大数据分析
  • 原文地址:https://www.cnblogs.com/acSzz/p/2376091.html
Copyright © 2011-2022 走看看