Stockbroker Grapevine(最短路)
| Time Limit: 1000MS | Memory Limit: 10000K | |
| Total Submissions: 36112 | Accepted: 20033 |
Description
Unfortunately for you, stockbrokers only trust information coming from their "Trusted sources" This means you have to take into account the structure of their contacts when starting a rumour. It takes a certain amount of time for a specific stockbroker to pass the rumour on to each of his colleagues. Your task will be to write a program that tells you which stockbroker to choose as your starting point for the rumour, as well as the time it will take for the rumour to spread throughout the stockbroker community. This duration is measured as the time needed for the last person to receive the information.
Input
Each person is numbered 1 through to the number of stockbrokers. The time taken to pass the message on will be between 1 and 10 minutes (inclusive), and the number of contacts will range between 0 and one less than the number of stockbrokers. The number of stockbrokers will range from 1 to 100. The input is terminated by a set of stockbrokers containing 0 (zero) people.
Output
It is possible that your program will receive a network of connections that excludes some persons, i.e. some people may be unreachable. If your program detects such a broken network, simply output the message "disjoint". Note that the time taken to pass the message from person A to person B is not necessarily the same as the time taken to pass it from B to A, if such transmission is possible at all.
Sample Input
3 2 2 4 3 5 2 1 2 3 6 2 1 2 2 2 5 3 4 4 2 8 5 3 1 5 8 4 1 6 4 10 2 7 5 2 0 2 2 5 1 5 0
Sample Output
3 2 3 10 题目翻译:
经纪人称过度的传言。你已经签约开发中传播假情报给雇主股票在股票市场上的战术优势的方法。为了达到最大的效果,你必须以最快的速度传播谣言。
不幸的是你,股票经纪人信息只信任来自他们的“可信任的来源”,这意味着你要考虑到他们的接触结构时的谣言。一个特定的股票经纪人把谣言传给他的每一个同事都需要一定的时间。你的任务是写一个程序,告诉你选择哪个股票经纪人作为你的出发点的谣言,以及时间将需要在整个股票经纪人社区传播谣言。此持续时间被测量为最后一个人接收信息所需的时间。
输入
你的程序将输入的数据不同的股票经纪人。每一组从一个股票经纪人的人数。以下是每个股票经纪人的一行,其中包括他们接触过的人,这些人是谁,以及他们把信息传递给每个人的时间。每个股票经纪人行的格式如下:该行开始与接触数(n),其次是n对整数,一对对每个接触。每对先列出一个数字,指的是联系人(如“1”指的是集合中的一个人),接着是将信息传递给那个人的分钟。没有特殊的标点符号或间距规则。
每个人的编号为1到一些股票经纪人。来传递信息的时间将是1至10分钟(含),并将0个触点数小于股票的数量之间的距离。股票的数量范围从1到100。输入是一套股票经纪人含有0(零)的人。
输出
对于每一组数据,你的程序必须输出一个包含最快消息传输结果的人的一行,以及在最后一个人收到该信息后,要多长时间才能接收到任何给定的信息。
这是可能的,您的程序将收到一个网络的连接,排除一些人,即一些人可能遥不可及。如果您的程序检测到这样一个断开的网络,只需输出消息“不相交”。请注意,从一个人到另一个人传递消息所花费的时间不一定与把它从B传给A的时间相同,如果这样的传输是完全可能的。
思路:
代码:
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 101
#define maxn 9999999
using namespace std;
int n,m,x,y,z,dis[N][N],tot,ans,p;
struct Edge
{
int x,y,z;
}edge[N*N];
int read()
{
,f=;
char ch=getchar();
')
{
;
ch=getchar();
}
')
{
x=x*+ch-';
ch=getchar();
}
return x*f;
}
void begin(int n,int m)
{
;i<=n;i++)
;j<=m;j++)
dis[i][j]=maxn*(i!=j);
}
int main()
{
while(n=read(),n)
{
tot=;
begin(N,N);
;i<=n;i++)
{
m=read();
;j<=m;j++)
{
x=read(),y=read();
dis[i][x]=y;
}
}
;k<=n;k++)
;i<=n;i++)
;j<=n;j++)
dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);
int maxx;
bool b=true;
ans=maxn;
;i<=n;i++)
{
maxx=;
;j<=n;j++)
{
if(i==j) continue;
if(maxx<dis[i][j]) maxx=dis[i][j];
}
if(ans>maxx) ans=maxx,p=i;
if(maxx!=maxn) b=false;
}
if(b) printf("disjoint\n");
else printf("%d %d\n",p,ans);
}
;
}
Stockbroker Grapevine(最短路)的更多相关文章
- POJ1125 Stockbroker Grapevine(最短路)
题目链接. 分析: 手感不错,1A. 直接穷举的起点, 求出不同起点到其它点最短路中最长的一条的最小值(好绕). #include <iostream> #include <cstd ...
- POJ 1125 Stockbroker Grapevine 最短路 难度:0
http://poj.org/problem?id=1125 #include <iostream> #include <cstring> using namespace st ...
- 【POJ 1125】Stockbroker Grapevine
id=1125">[POJ 1125]Stockbroker Grapevine 最短路 只是这题数据非常水. . 主要想大牛们试试南阳OJ同题 链接例如以下: http://acm. ...
- 最短路(Floyd_Warshall) POJ 1125 Stockbroker Grapevine
题目传送门 /* 最短路:Floyd模板题 主要是两点最短的距离和起始位置 http://blog.csdn.net/y990041769/article/details/37955253 */ #i ...
- Stockbroker Grapevine(floyd+暴力枚举)
Stockbroker Grapevine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 31264 Accepted: 171 ...
- POJ 1125 Stockbroker Grapevine
Stockbroker Grapevine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 33141 Accepted: ...
- Stockbroker Grapevine(floyd)
Stockbroker Grapevine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 28231 Accepted: ...
- poj 1125 Stockbroker Grapevine dijkstra算法实现最短路径
点击打开链接 Stockbroker Grapevine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 23760 Ac ...
- OpenJudge/Poj 1125 Stockbroker Grapevine
1.链接地址: http://poj.org/problem?id=1125 http://bailian.openjudge.cn/practice/1125 2.题目: Stockbroker G ...
随机推荐
- tuple 方法总结整理
#!/usr/bin/env python #Python 3.7.0 元祖常用方法 __author__ = "lrtao2010" #元祖和列表类似,只不过元祖一旦被创建一级元 ...
- SQL语句小练习
一.创建如下表结构(t_book) Id 主键 自增一 bookName 可变长 20 Price 小数 Author 可变长20 bookTypeId 图书类 ...
- stm32独立看门狗实验
//ALIENTEK Mini STM32开发板V1.9范例代码5//独立看门狗实验//正点原子@ALIENTEK//技术论坛:www.openedv.com STM32F103RBT6属于中容量版本 ...
- Find a way HDU - 2612(bfs)
Find a way Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- mysql Plugin ‘InnoDB’ init function returned error
问题描述: 非正常关闭mysql,同时更改了my.cnf 导致启动时不支持innodb,出现如下错误: [ERROR] Plugin ‘InnoDB’ init function returned ...
- Fiddler证书安装不成功
Fiddler 抓包https配置 提示creation of the root certificate was not successful 证书安装不成功 原文链接 在使用Fiddler抓包时,我 ...
- bash函数定义/使用/传参…
函数:function, 功能 过程式编程,代码重用 模块化编程 简洁 语法: function f_name { ...
- 2015四川省赛 D Vertex Cover 搜索
题意: 给出一个\(n\)个点\(m\)条边的无向图,现在要给若干个点染色,使得每条边都至少邻接一个被染色的顶点.问至少要给多少各点染色才能满足条件. 分析: 注意到题目中有一个很特殊的条件: 对于图 ...
- 第3章 jquery中的事件和动画
一,jquery中的事件 (1).执行时机 $(document).ready()和window.onload方法有相似的功能,但是在执行时机方面有区别,windwo.onload在网页中所有的元素包 ...
- pl/sql 函数及与存储过程的区别
函数用于返回特定的数据,当建立函数时,在函数头部必须包含return子句.而在函数体内必须包含return语句返回的数据.我们可以使用create function来建立函数. 1).接下来通过一个案 ...