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 ...
随机推荐
- constraint the design
- python-类与继承
类的继承 什么是继承? 继承是一种新建类的方式,新建的类称为子类,被继承的类称为父类.python中,父类.子类(派生类)只有在继承的时候才会产生. 继承的特性:子类会继承父类所有的属性. 为什么要用 ...
- Struts2和Spring MVC 区别 今天面试被问到了
虽然说没有系统的学习过Spring MVC框架, 但是工作这么长时间, 基本上在WEB层使用的都是Spring MVC, 自己觉得Struts2也是一个不错的WEB层框架, 这两种框架至今自己还未有比 ...
- Html5_css
CSS 在标签上设置style属性: background-color: #2459a2; height: 48px; ... 编写css样式: 1. 标签的style属性 2. 写在head里面 s ...
- ARM CORTEX-M3的时钟
转载自:http://www.cnblogs.com/javado/p/7704579.html 这几天写了一段测试代码,跑在LPC812上面. 很吃惊的发现CPU速度为1M 时钟 串口为12M时钟 ...
- dict 字典的常用操作
#dict 字典的常用操作: id_db.get() #获取 id_db.update() #更新(覆盖)字典 id_db.values() #打印字典里所有的values id_db.keys() ...
- bash 统计在线时长最长的十个玩/统计一天内一直处于不活跃状态的玩家的百分比
1.某游戏的客户端每隔5分钟会向服务端报告一次玩家的账户积分,如果两次报告的时间间隔不大于5分钟,认为该玩家在这5分钟内在线,假设报告数据的格式如下: IP Dat ...
- JAVA 基础--开发环境IDEA 搭建
1.下载IDEA (500M+) 2.激活. 在网站http://idea.lanyus.com/中获取注册码,填入Activation code中: 然后点击Activate即可. 3.创建工程前 ...
- An entity cannot be annotated with both @Entity and @MappedSuperclass: com.example1.demo1.Entity.User错误
项目问SpringDataJpa项目,在运行的过程中出现的以下错误: Caused by: org.hibernate.AnnotationException: An entity cannot be ...
- 在win2003下apache2.2无法加载php5apache2_4.dll
昨天在一台win2003的服务器上配置apache和PHP, 我在apache的配置文件httpd.conf里添加 LoadModule php5_module "D:/php-5.4.23 ...