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 ...
随机推荐
- ocaml学习
ocaml与haskell一样,是functional programming的代表. 对于有一定编程经验的人来说,入手一种新语言,最有效的方式就是开发一些实用的utility,因此top-level ...
- Linux用户空间内存区域的匿名映射
1 在调用mmap系统调用时,可以指定的标志(flag)参数: 1: #define MAP_SHARED 0x01 /* Share changes */ 2: #define MAP_PRIVAT ...
- 1060 Are They Equal (25 分)
1060 Are They Equal (25 分) If a machine can save only 3 significant digits, the float numbers 1230 ...
- li中下的a元素的字超出了li的宽度
网站搬迁,给你带来的不便敬请谅解! http://www.suanliutudousi.com/2017/10/21/li%E4%B8%AD%E4%B8%8B%E7%9A%84a%E5%85%83%E ...
- 洛谷 P2652 同花顺(离散化)
洛谷 P2652 同花顺(题面) 手动模拟了一下,其实离散化排序可以起很大作用题目要求花色相同,数字连续,那么我们要做的就是找一种花色,并提取出其中一串数字留下那些舍弃的牌换成相应花色,并和之前留下的 ...
- 树上倍增 hdu 2586
参考博客: 代码: #include<stdio.h> #include<iostream> #include<algorithm> #include<mat ...
- (数据科学学习手札61)xpath进阶用法
一.简介 xpath作为对网页.对xml文件进行定位的工具,速度快,语法简洁明了,在网络爬虫解析内容的过程中起到很大的作用,除了xpath的基础用法之外(可参考我之前写的(数据科学学习手札50)基于P ...
- Java的GC是什么?做了什么?
Java GC是Java的垃圾回收机制 Java堆是被所有线程共享的一块内存区域,所有对象实例和数组都在堆上进行内存分配.为了高效的进行垃圾回收,虚拟机把堆内存分为新生代,老年代和永久代3个区域 新生 ...
- 软工-五月心得体会 PB16110698
伴随着愈发红润的骄阳,火热而紧张刺激的五月悄然而至.这一个月以来,曾经让同学们“废寝忘食”的软工课大作业终于告一段落,每周一篇的读书笔记也缓到半月一篇,着实令人长吐一口气.但这一份表面的余裕当然没有看 ...
- Python全栈开发:Javascript
JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一.如何编写 1.J ...