zoukankan      html  css  js  c++  java
  • poj 1125 Stockbroker Grapevine 最短路Floyd算法

    http://poj.org/problem?id=1125

    题意:有n个股票经纪人,要求从中选择一个作为散发谣言的开端,使得最后一个人收到谣言时时间时最短,当然谣言只能在有关联的两人这间传播。要注意从A到B和从B到A的时间并不等价!!

    解题:典型的最短路问题,套用Floyd算法即可。

    Source Code

    Problem: 1125   User: 541780774
    Memory: 408K   Time: 0MS
    Language: G++   Result: Accepted


    Source Code

    #include<stdio.h>  #include<stdlib.h>  #include<string.h>  int map[101][101],n;//顶点数n   void Floyd()  {    int i,j,k;    for(k=0;k<n;k++)    for(i=0;i<n;i++)    for(j=0;j<n;j++)    {      if(map[i][j]>map[i][k]+map[k][j]&&i!=j)         map[i][j]=map[i][k]+map[k][j];    }  }             main()  {        int i,j,m,min,max,a,b,ans;        while(scanf("%d",&n),n!=0)        {          for(i=0;i<n;i++)          for(j=0;j<n;j++)             map[i][j]=1000;          for(i=0;i<n;i++)          {            scanf("%d",&m);            while(m--)            {              scanf("%d%d",&a,&b);              map[i][a-1]=b;            }          }          Floyd();          min=1000;          ans=0;          for(i=0;i<n;i++)          {            max=0;            for(j=0;j<n;j++)            {              if(i!=j&&map[i][j]>max)              max=map[i][j];            }            if(min>max)            {              min=max;              ans=i;            }          }          printf("%d %d\n",ans+1,min);        }        system("pause");  }
  • 相关阅读:
    日志/异常处理(nnlog+traceback)
    Excel操作
    商品管理系统
    大乐透作业
    随机生成密码作业
    时间相关的模块
    os模块
    sys模块
    Pytho中dict(或对象)与json之间的互相转化
    Python三元表达式和列表生成式
  • 原文地址:https://www.cnblogs.com/zxj015/p/2740292.html
Copyright © 2011-2022 走看看