poj 1125 Stockbroker Grapevine 很好的一道floyd入门题
这道题虽然对大牛来说是floyd的水题,但我感觉作为入门题应给算是很好的一道题
floyd最值得注意的地方是中间变量放在for循环外围!!!
这是由其算法本身所决定的,其每一步求出任意一对顶点之间仅通过中间节点1,2,...,k的最短距离,当1,2,...,k扩展到所有顶点时,算法解出任意一对顶点间的最短距离,故顺序自然是: for(k=1;k<n;++k) //枚举任意一对顶点 由其状态转移方程来看,这个算法的顺序也很清晰,应该是先计算较小的k时任意ij之间的最短距离: dij(k) = wij 如果k=0 min(dij(k-1),dik(k-1)+dkj(k-1)) 如果k>=1 其中i,j表示点对,k表示第1,2,...,k时的最短路径
#include<iostream>
using namespace std;
int a[105][105];
void floyd(int m)
{
for(int k=1;k<=m;k++)//注意中间变量放在外面
{
for(int j=1;j<=m;j++)
{
for(int i=1;i<=m;i++)
{
if(i==j||j==k||i==k)
continue;
if(a[i][j]>a[i][k]+a[k][j])
a[i][j]=a[i][k]+a[k][j];
else
a[i][j]=a[i][j];
}
}
}
int max=10000;
int x=0;
for(int i=1;i<=m;i++)
{
int min=0;
for(int j=1;j<=m;j++)//选出到达所有点的最大时间
{
if(i==j)
continue;
if(a[i][j]>min)
min=a[i][j];
}
if(min<max)
{
max=min;
x=i;
}
}
if(x==0)
cout<<"disjoint"<<endl;
else
cout<<x<<' '<<max<<endl;
}
int main()
{
int n,m,x,y;
while(cin>>n,n)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)//这个赋值是为了排除没有连接的节点
a[i][j]=0xFFFF;
}
for(int i=1;i<=n;i++)
{
cin>>m;
while(m--)
{
cin>>x>>y;
a[i][x]=y;
}
}
floyd(n);
}
}
poj 1125 Stockbroker Grapevine 很好的一道floyd入门题相关推荐
- Poj 1125 Stockbroker Grapevine(Floyd算法求结点对的最短路径问题)
一.Description Stockbrokers are known to overreact to rumours. You have been contracted to develop a ...
- POJ 1125 Stockbroker Grapevine
题意:有n个人,传播谣言,每个人向其他人传播的时间作为边权,构成一个有向图,问把谣言告诉谁能最快传到所有人,输出这个人和最短时间. 解法:最短路.一个人传到所有人的最短时间即他到所有人最短路的最大值, ...
- poj 1125 Stockbroker Grapevine(Folyd)
1 //nyoj的数据改成了1000 ,然后就跪了.. 好像大神们用spfa做的 2 #include<iostream> 3 #include<cstdio> 4 #incl ...
- poj 1125 Stockbroker(多源最短路径)
题目来源:POJ 1125 简单题目分析及思路: 题意比较难懂,但是思路是多源最短路径,采用Floyd算法. Floyd是一种动态规划的算法,代码简洁易懂,对于稠密图效率要高于Dijkstra算法,但 ...
- POJ 2342 | HDU 1520 Anniversary party 树形DP(入门题)
传送门:POJ 2342 题目大意: 有若干人参加一个聚会,如果两个人之间有直接的上下属关系,则只能去一个.每个人都有个高兴值,问高兴值之和最大是多少? 思路: 之前一直觉得树形DP比较难,现在发现树 ...
- TOJ 2857 Stockbroker Grapevine
描述 Stockbrokers are known to overreact to rumours. You have been contracted to develop a method of s ...
- poj pku图论、网络流入门题总结、汇总
poj pku图论.网络流入门题总结.汇总 分类: acm图论 2010-08-25 18:49 243人阅读 评论(0) 收藏 举报 网络算法networkgraphconstructioninte ...
- 关于欧拉工程的一道递推题
今天来讲的是在欧拉工程上的一道递推题,题目描述如下链接. 题目:https://projecteuler.net/problem=492 当然,这道题在51Nod上有一个比较通用的版本,链接如下 题目 ...
- 每天一道大厂SQL题【Day01】
每天一道大厂SQL题[Day01] 大家好,我是Maynor.相信大家和我一样,都有一个大厂梦,作为一名资深大数据选手,深知SQL重要性,接下来我准备用100天时间,基于大数据岗面试中的经典题,以每日 ...
- 记一道MISC图片题(拖延癌晚期)
title: 记一道misc图片题 date: 2017-10-26 15:17:12 tags: MISC 记一道MISC图片题(拖延癌晚期) 几个月前实验班考核的一个杂项 这个题是今年实验班考核的 ...
最新文章
- thinkphp框架开启页面gzip压缩
- IOS 2D游戏开发框架 SpriteKit--续(postion,锚点,游戏滚动场景)
- 编译ARM平台的	QtEmbedded 的MySQL插件和移植MySQL到ARM开发板
- nodejs项目的package-lock.json文件的用途
- linux系统利用wifi上网,【教程】Wii安装运行可用WIFI的Linux系统全攻略
- ASP调用web services
- HTML元素参考手册 HTML Elements Reference
- 计算机系统结构自学试卷,全国2004年4月高等教育自学考试计算机系统结构试题...
- 离婚冷静期有用吗?全国哪个省份的情侣最想结婚?大数据告诉你
- 高三!忏悔ing~(在这儿的第一篇随笔)
- mysql执行sql批处理
- 华为鸿蒙系统和奔驰公司,华为已行动,又是一个千亿BG,奔驰已经加入
- python pip install pil_用pip安装PIL
- html工作周报,可查看(周报).html
- mtk+android+wear,MTK专用处理器--可穿戴
- 关于Navicat和DBeaver的个人使用中问题
- 北京科技大学计算机组成原理,北京科技大学二十套计算机组成原理题库及答案...
- 电脑xp系统坏了,如何处理
- 笃行致远 砥砺前行 华云数据西南区域公司正式乔迁
- 【Verilog基础】一文搞懂线性反馈移位寄存器(LFSR)