zoukankan      html  css  js  c++  java
  • POJ1125 Stockbroker Grapevine -FLOYD练习题

    题目大意是:有N个人,相互之间可以传递信息,但是A传给B与B传给A的时间是不一样的,一个人同时可以向多个人传递信息,时间不一样,问你把消息传给谁?可以在最短时间让消息传递给所有人。

    典型的FLOYD求最短路,最后找到所有人距离最大之最小那一个人,输出答案。

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    const int maxn=110,maxint=1000000000;
    int d[maxn][maxn];
    int main(){
        int i,j,k,m,n;
        int x,y;
        while(1){
            scanf("%d",&n);
            if(!n)break;
            for(i=1;i<=n;i++)
                for(j=1;j<=n;j++)
                    d[i][j]=maxint;        
            for(i=1;i<=n;i++){
                scanf("%d",&m);                  
                for(j=1;j<=m;j++){
                    scanf("%d%d",&x,&y);                  
                    d[i][x]=y;
                }                
            }
            for(i=1;i<=n;i++)d[i][i]=0;
            for(k=1;k<=n;k++)
                for(i=1;i<=n;i++)
                    for(j=1;j<=n;j++)
                        if(d[i][j]>d[i][k]+d[k][j])
                            d[i][j]=d[i][k]+d[k][j];                         
            int mins=maxint,maxs;
            for(i=1;i<=n;i++){
                maxs=0;
                for(j=1;j<=n;j++)
                    if(d[i][j]>maxs)
                        maxs=d[i][j];
                if(maxs<mins){
                    mins=maxs;
                    k=i;              
                }                  
            }
            printf("%d %d
    ",k,mins);
        }
        return 0;    
    }
    


  • 相关阅读:
    ajax的一些知识
    前端性能优化汇总
    jquery实现一些小动画二
    python简单日志处理
    逆波兰式---C实现
    java常见异常
    Hive与HBase集成及常见问题解决
    SQL for HBase
    Demystifying the Skip Scan in Phoenix
    Difference between DDL, DML and DCL commands
  • 原文地址:https://www.cnblogs.com/cnyali/p/4163896.html
Copyright © 2011-2022 走看看