Southern African 2001 Stockbroker Grapevine /// Floyd oj1345
题目大意:
输入n 接下来n行
每行输入m 接下来m对a,b
若干个人之间会传播谣言,但每个人传播给其他人的速度都不一样,
问最快的传播路线(即耗时最短的)中最耗时的一个传播环节。
如果其中有人不在这个链中,则输出disjoin,否则输出最快的传播人和该条传播路线中的最慢的一个传播环节花费时间。
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
3 2
3 10
3
2 2 4 3 5
2 1 2 3 6
2 1 2 2 2
三个点 两对值(点1) 到点2用时4 到点3用时5
两对值(点2) 到点1用时2 到点3用时6
两对值(点3) 到点1用时2 到点2用时2 3 2 从点3出发用时最短 其中最长用时为2
#include <bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
int G[][];
int main()
{
int n;
while(~scanf("%d",&n)&&n)
{
memset(G,INF,sizeof(G));
for(int i=;i<=n;i++)
{
G[i][i]=;
int m; scanf("%d",&m);
while(m--)
{
int a,b; scanf("%d%d",&a,&b);
G[i][a]=min(G[i][a],b);
}
} for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
for(int k=;k<=n;k++)
{
if(k==i||k==j||i==j) continue;
G[j][k]=min(G[j][k],G[j][i]+G[i][k]);
} /// Floyd求最短路 int minG=INF,maxG,index;
for(int i=;i<=n;i++)
{
maxG=;
for(int j=;j<=n;j++)
maxG=max(maxG,G[i][j]);
/// 从i出发的最长用时 若为INF 说明该条有缺口 if(minG>maxG) /// 得到最长用时中最短的一个
{
minG=maxG;
index=i;
}
} if(minG==INF) /// 说明整链有缺口
printf("disjoint\n");
else
printf("%d %d\n",index,minG);
} return ;
}
Southern African 2001 Stockbroker Grapevine /// Floyd oj1345的更多相关文章
- Stockbroker Grapevine(floyd+暴力枚举)
Stockbroker Grapevine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 31264 Accepted: 171 ...
- Stockbroker Grapevine(floyd)
Stockbroker Grapevine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 28231 Accepted: ...
- Poj 1125 Stockbroker Grapevine(Floyd算法求结点对的最短路径问题)
一.Description Stockbrokers are known to overreact to rumours. You have been contracted to develop a ...
- poj1125 Stockbroker Grapevine Floyd
题目链接:http://poj.org/problem?id=1125 主要是读懂题意 然后就很简单了 floyd算法的应用 代码: #include<iostream> #include ...
- POJ 1125 Stockbroker Grapevine (Floyd最短路)
Floyd算法计算每对顶点之间的最短路径的问题 题目中隐含了一个条件是一个人能够同一时候将谣言传递给多个人 题目终于的要求是时间最短.那么就要遍历一遍求出每一个点作为源点时,最长的最短路径长是多少,再 ...
- Southern African 2001 框架折叠 (拓扑序列的应用)
本文链接:http://www.cnblogs.com/Ash-ly/p/5398377.html 题目:考虑五个图片堆叠在一起,比如下面的9 * 8 的矩阵表示的是这些图片的边缘框. 现在上面的图片 ...
- Stockbroker Grapevine POJ 1125 Floyd
Stockbroker Grapevine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 37069 Accepted: ...
- POJ 1125 Stockbroker Grapevine【floyd简单应用】
链接: http://poj.org/problem?id=1125 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...
- OpenJudge/Poj 1125 Stockbroker Grapevine
1.链接地址: http://poj.org/problem?id=1125 http://bailian.openjudge.cn/practice/1125 2.题目: Stockbroker G ...
随机推荐
- Wannafly Winter Camp Day8(Div1,onsite) E题 Souls-like Game 线段树 矩阵乘法
目录 Catalog Solution: (有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 Catalog @ Problem:传送门 Portal 原题目描述在最下面. 简单的 ...
- 用java打开一个本地文件
以下有三种方式打开 /** * 借助java.awt.Desktop打开 * @see 打开的目录或文件名中允许包含空格 */ private static void useAWTDesktop() ...
- 3. 初识jmeter及JDK安装
jmeter 介绍 Apache JMeter™应用程序是开源软件,100%纯Java应用程序,旨在加载测试功能行为和测量性能.它最初是为测试Web应用程序而设计的,但后来扩展到其他测试功能. Jme ...
- Intel Pin基础
参考:http://software.intel.com/sites/landingpage/pintool/docs/62732/Pin/html/ http://blog.nruns.com/bl ...
- python中面向对象之装饰器
python面向对象内置装饰器property,staticmethod,classmethod的使用 @property 装饰器作用及使用 作用:面向对象中的方法伪装成属性 使用如下: class ...
- 高级UI晋升之触摸事件分发机制(一)
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680 0. 前言 鉴于安卓分发机制较为复杂,故分为多个层次进行讲解,分别为基础篇.实践 ...
- ARM 异常处理过程,指令[ swi ]
1. 发生异常: 程序正常执行,突然被一个不正常的事件打断正在执行的程序,执行相应的异常事件对应的程序 2. 5 种异常模式对应着 7 种异常源: 异常工作模式 异常源 FIR ...
- 笔记57 Mybatis和Hibernate的比较
一.Hibernate和MyBatis简介 1.Hibernate简介 Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO 和数据库表之间的映 ...
- 数组foreach
简单使用 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- leetcood学习笔记-112-路径总和
题目描述: 第一次提交: class Solution(object): def hasPathSum(self, root, sum): """ :type root: ...