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 ...
随机推荐
- 剑指offer---1、顺时针打印矩阵
剑指offer---1.顺时针打印矩阵 一.总结 一句话总结: 谋而后动+多做:还是要谋而后动,但是怎么谋而后动,很有学问,做好的方式就是多做 问题就这些问题:解决了就好了,比如php多维数组 面试的 ...
- unittest框架学习笔记三之testsuite
# coding=utf-8 '''created :2018/3/29 author:star project: testsuite'''import unittest,time,osfrom ba ...
- java8的正确使用姿势
ackage com.expgiga.Java8; import java.util.ArrayList; import java.util.Arrays; import java.util.List ...
- JAVA学习之数组
一.数组定义同一种类型数据的集合,其实数组就是一个容器数组定义格式:1.数据类型[] 变量名 = new 数据类型[数组长度] int[] arr = new int[5]; 2.数据类型[] 数组名 ...
- Application.GetOpenFilename 使用说明
Application.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect) 语法: 名称 ...
- Linux上调试python程序
python -m pdb target.py
- LeetCode 分隔链表
题目链接:https://leetcode-cn.com/problems/partition-list/ 题目大意 略. 分析 空间复杂度 O(1) 的做法蛮有意思的,另外加头结点可以少写很多代码. ...
- MVC过滤器-->ActionFilterAttribute和HandleErrorAttribute
自定义的action过滤器 需要继承自ActionFilterAttribute 接口 OnActionExecuting: 在方法执行之前执行 OnActionExecuted: 方法的逻辑代 ...
- k小子串 SPOJ - SUBLEX 2
题意: 求字典序第K大的子串 题解: 先求出后缀自动机对应节点 // 该节点后面所形成的自字符串的总数 然后直接模拟即可 #include <set> #include <map&g ...
- 谁说编译器不SB
我有这么一段代码,我使用的是VS2010IDE,直接编译Release模式,开O2,谁能猜到编译器怎么给我编的 typedef HRESULT (__stdcall *FTSHGetFolderLoc ...