OpenJudge/Poj 1125 Stockbroker Grapevine
1.链接地址:
http://poj.org/problem?id=1125
http://bailian.openjudge.cn/practice/1125
2.题目:
Stockbroker Grapevine
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 24810 Accepted: 13674 Description
Stockbrokers are known to overreact to rumours. You have been contracted to develop a method of spreading disinformation amongst the stockbrokers to give your employer the tactical edge in the stock market. For maximum effect, you have to spread the rumours in the fastest possible way.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
Your
program will input data for different sets of stockbrokers. Each set
starts with a line with the number of stockbrokers. Following this is a
line for each stockbroker which contains the number of people who they
have contact with, who these people are, and the time taken for them to
pass the message to each person. The format of each stockbroker line is
as follows: The line starts with the number of contacts (n), followed by
n pairs of integers, one pair for each contact. Each pair lists first a
number referring to the contact (e.g. a '1' means person number one in
the set), followed by the time in minutes taken to pass a message to
that person. There are no special punctuation symbols or spacing rules.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
For
each set of data, your program must output a single line containing the
person who results in the fastest message transmission, and how long
before the last person will receive any given message after you give it
to this person, measured in integer minutes.
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
0Sample Output
3 2
3 10Source
3.思路:
4.代码:
#include <iostream>
#include <cstdio> using namespace std;
int dis[][];//最多为100,为了防止溢出订为105
void Floyd(int n)
{
int i,j,k;
for(i=;i<=n;i++)
for(j=;j<=n;j++)
for(k=;k<=n;k++)
//dp,使用弗洛伊德算法
if(dis[j][i]+dis[i][k]<dis[j][k]){
dis[j][k]=dis[j][i]+dis[i][k];
}
}
void Min(int n)
{
int node,min=0xfffff;//0xfffff为最大int数
int i,j;
for(i=;i<=n;i++){
int max=;
for(j=;j<=n;j++){
if(i==j) continue;
//找出个人传到每个人的最大的时间
if(dis[i][j]>max) max=dis[i][j];
}
if(max<min){
//比较每个人的最大时间,寻找最小的一人
min=max;
node=i;
}
}
if(min<0xffff){
printf("%d %d\n",node,min);
}
else{
printf("disjoint\n");
} }
int main()
{
int n,i,j,k,m; //初始化邻接矩阵
while(scanf("%d",&n)&&n){
for(i=;i<=n;i++){
for(j=;j<=n;j++){
dis[i][j]=0xfffff;
}
}
//m为人数
for(i=;i<=n;i++){
scanf("%d",&m); for(j=;j<m;j++){//k为认识的人
scanf("%d",&k);
scanf("%d",&dis[i][k]);
}
}
Floyd(n);
Min(n);
}
return ;
}
OpenJudge/Poj 1125 Stockbroker Grapevine的更多相关文章
- 最短路(Floyd_Warshall) POJ 1125 Stockbroker Grapevine
题目传送门 /* 最短路:Floyd模板题 主要是两点最短的距离和起始位置 http://blog.csdn.net/y990041769/article/details/37955253 */ #i ...
- POJ 1125 Stockbroker Grapevine【floyd简单应用】
链接: http://poj.org/problem?id=1125 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...
- POJ 1125 Stockbroker Grapevine
Stockbroker Grapevine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 33141 Accepted: ...
- poj 1125 Stockbroker Grapevine dijkstra算法实现最短路径
点击打开链接 Stockbroker Grapevine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 23760 Ac ...
- poj 1125 Stockbroker Grapevine(多源最短)
id=1125">链接:poj 1125 题意:输入n个经纪人,以及他们之间传播谣言所需的时间, 问从哪个人開始传播使得全部人知道所需时间最少.这个最少时间是多少 分析:由于谣言传播是 ...
- POJ 1125 Stockbroker Grapevine 最短路 难度:0
http://poj.org/problem?id=1125 #include <iostream> #include <cstring> using namespace st ...
- POJ 1125 Stockbroker Grapevine(floyd)
http://poj.org/problem?id=1125 题意 : 就是说想要在股票经纪人中传播谣言,先告诉一个人,然后让他传播给其他所有的经纪人,需要输出的是从谁开始传播需要的时间最短,输出这个 ...
- poj 1125 Stockbroker Grapevine(最短路 简单 floyd)
题目:http://poj.org/problem?id=1125 题意:给出一个社交网络,每个人有几个别人可以传播谣言,传播谣言需要时间.问要使得谣言传播的最快,应该从那个人开始传播谣言以及使得所有 ...
- Poj 1125 Stockbroker Grapevine(Floyd算法求结点对的最短路径问题)
一.Description Stockbrokers are known to overreact to rumours. You have been contracted to develop a ...
随机推荐
- CentOS下系统时间同步和时区的修改和设置(用的这个)
一.修正时区 rm -rf /etc/localtime #删除当前默认时区www.kwx.gd ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localt ...
- Java对MySQL数据库进行连接、查询和修改【转载】
一般过程: (1) 调用Class.forName()方法加载驱动程序. (2) 调用DriverManager对象的getConnection()方法,获得一个Connection对象. (3) 创 ...
- Hive权限介绍
一.开启权限 眼下hive支持简单的权限管理,默认情况下是不开启.这样全部的用户都具有同样的权限.同一时候也是超级管理员.也就对hive中的全部表都有查看和修改的权利,这样是不符合一般数据仓库的安全原 ...
- Android应用在不同版本间兼容性处理
在Android系统中向下兼容性比较差,但是一个应用APP经过处理还是可以在各个版本间运行的.向下兼容性不好,不同版本的系统其API版本也不同,自然有些接口也不同,新的平台不能使用旧的API,旧的平台 ...
- Java ZIP File Example---refernce
In this tutorial we are going to see how to ZIP a file in Java. ZIP is an archive file format that e ...
- 1、C语言中的函数指针
一 通常的函数调用 void MyFun(int x); //此处的申明也可写成:void MyFun( int ); int main(int argc, char* argv[]) { MyFun ...
- qt-vs-addin-版本支持
qt-vs-addin-1.2.0-opensource.exe VS200X qt-vs-addin-1.2.1-opensource.exe VS200X qt-v ...
- iOS常见文件及程序的启动原理
一. iOS中常见文件 (一). Xcode6之前 创建项目,默认可以看见一个存放框架的文件夹 info文件以工程文件名开头,如:第一个项目-Info.plist 项目中默认有一个PCH文件 (二). ...
- mfc模态对话框
Mfc模态对话框: 创建模态对话框: [模态对话框:具有独占行为,必须由用户完成对当前对话框的响应,才能对本对话框所属的进程进行其他操作] 例如: 我们创建一个加法计算器.点击计算之后,弹出一个对话框 ...
- eclipse在线安装svn插件
原文地址:http://www.cnblogs.com/xdp-gacl/p/4354199.html Eclipse在线安装SVN 一.SVN在线安装 下面为在线安装SVN插件.以下是在线安装步骤: ...