#include<iostream>
#include<vector>
#include<string>
#include<queue>
/**
* 代码好丑
*/
/**
* @note 题意:
N个股票经纪人,每个股票经纪人都会将得到的消息传播给另外一些股票经纪人,传播的速度均不固定,且从A传到B的速度和B传到A的速度不一定相等。
给定一个消息,并不一定能够传遍所有的股票经纪人,因为股票经纪人可能形成一座座“孤岛”,使得信息无法送达。
现在给定每个股票经纪人能消息传达的其他股票经纪人和传达给其他经纪人所需要的时间,求出将一个消息给哪个(只一个)
股票经纪人能够使得消息最快传遍所有的股票经纪人。若无论给哪个股票经纪人都无法使消息传遍所有经纪人,则返回 "disjoint".
思路:典型弗洛伊德算法
*/
using namespace std;
const int max_map = 108;
///图的邻接矩阵
int result_map[max_map][max_map];
int n;
///读取数据
bool read_data()
{
for (size_t i = 0; i < max_map; i++)
{
for (size_t j = 0; j < max_map; j++)
{
if (i==j)
{
result_map[i][j] = 0;
}
else
{
result_map[i][j] = 65535;
}
}
}
cin >> n;
if (n==0)
{
return false;
}
for (size_t i = 1; i <=n; i++)
{
i
POJ 1125 Stockbroker Grapevine(floyd算法)
最新推荐文章于 2024-05-29 23:49:59 发布