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 ...
随机推荐
- 使用python3调用MyQR库生成动态二维码(附源代码)
可生成普通二维码.带图片的艺术二维码(黑白与彩色).动态二维码(黑白与彩色). GitHub:https://github.com/sylnsfar/qrcode 中文版:https://github ...
- HDU 2852 KiKi's K-Number 主席树
题意: 要求维护一个数据结构,支持下面三种操作: \(0 \, e\):插入一个值为\(e\)的元素 \(1 \, e\):删除一个值为\(e\)的元素 \(2 \, a \, k\):查询比\(a\ ...
- 豆邮windows客户端(第三方)开发详解
“豆邮”,是社区网站“豆瓣”的一个类似私信的功能模块.在豆瓣官网,“豆邮”曾一度被改为“私信”,但在遭到众多豆瓣用户的强烈反对之后又改了回来.然而,在豆瓣的移动客户端上,仍称呼为“私信”. 豆邮的设定 ...
- tomcat6-输入输出buffer设计
之前写的一个ppt 搬到博客来
- day03_13 多分支if语句及作业
猜年龄升级版 age_of_princal = 56 guess_age = int( input("请输入您猜测的年龄") ) if guess_age == age_of_pr ...
- js中的事件委托和事件代理详解
起因: 1.这是前端面试的经典题型,要去找工作的小伙伴看看还是有帮助的: 2.其实我一直都没弄明白,写这个一是为了备忘,二是给其他的知其然不知其所以然的小伙伴们以参考: 概述: 那什么叫事件委托呢?它 ...
- 1章 perl入门
1.标量数据 单变量 数字和字符串两种情况 2.所有数字的内部格式都相同.浮点型 perl中没有应对整数值得运算 . 3.浮点数直接量 数字e表示10的次方标示符 例子:-6.5e ...
- [linux time命令学习篇] time 统计命令执行的时间
注意: 命令后面一定要有分号; http://codingstandards.iteye.com/blog/798788 用途说明 time命令常用于测量一个命令的运行时间,注意不是用来显示和修改系统 ...
- Spring中的注解 @Qualifier
在使用Spring框架中@Autowired标签时默认情况下使用 @Autowired 注释进行自动注入时,Spring 容器中匹配的候选 Bean 数目必须有且仅有一个.当找不到一个匹配的 Bean ...
- BZOJ4010 [HNOI2015]菜肴制作 【拓扑排序 + 贪心】
题目 知名美食家小 A被邀请至ATM 大酒店,为其品评菜肴. ATM 酒店为小 A 准备了 N 道菜肴,酒店按照为菜肴预估的质量从高到低给予 1到N的顺序编号,预估质量最高的菜肴编号为1.由于菜肴之间 ...