poj 1125

原创 2015年11月19日 12:16:04

题目大意:(我就不翻译原来的题目)大概讲的是这么个东西。

给出几个点以及点到其他点的单向边。现在假设有一个消息要传给所有人,我们认为每个点到其他点传递消息的时间为边的长度。现在所求的是:从那个点出发所需的时间最少,并且求出这个最小值。


还是最短路径问题:求出每个点到其他点的最短路径(floyd算法),之后枚举每个点,求出这个点要把消息传遍的最长的时间,找出时间最短的点,很简单。


#include <iostream>
#include <cstring>
#define N 700
using namespace std;
int dis[N][N];
int n,m;

int main()
{
	while(1)
	{
		cin>>n;
		if(n==0)break;
		for (int i=0;i<N;++i)
		  for (int j=0;j<N;++j)
		    dis[i][j]=99999999;  
		    
		for (int i=1;i<=n;++i)
	    {
	    	cin>>m;
	    	int v=0,d;
	    	for (int j=1;j<=m;++j)
	    	{
	    		cin>>v>>d;
	    		dis[i][v]=d;
			}
			dis[i][i]=0;
		}
		
		for (int i=1;i<=n;++i)
		  for (int j=1;j<=n;++j)
		    for (int k=1;k<=n;++k)           //Floyd
		    dis[i][k]=min( dis[i][j]+dis[j][k] , dis[i][k]);
		    
		int ans=99999999+1,k=-1;
		for (int i=1;i<=n;++i)
		{
			int cnt=0;
			for (int j=1;j<=n;++j)
				cnt=max(dis[i][j],cnt);   //枚举点求最小 
			if(cnt<ans)
			{
				ans=cnt;
				k=i;
			}
		}
		cout<<k<<' '<<ans<<endl;		
	}
		
}

这是第一次,第一次直接ac的题目!!!!

当然我发现自己floyd写得不是很顺,三个循环把自己搞晕了。


for (int k=0;k<n;++k)  

   for (int i=0;i<n;++i)  

      for (int j=0;j<n;++j)

         d[i][j]=min(d[i][k]+d[k][j],d[i][j]); 

//从第i个点到第j个点以k为中间点所需的最短距离

//第一个循环枚举的是中间点

//第二个循环枚举的是当前中间点下的起始点

//第三个循环美剧的是目标。

仔细想想为什么不能换。



POJ 1125 (经典水题 floyd)

POJ1125 题意:众所周知,证券经纪业依靠的就是过度的传言。您需要想出股票经纪人中传播假情报的方法,让您的雇主在股票市场的占据优势。为了获得最大的效果,你必须蔓延最快的方式谣言。 不幸...
  • Since_natural_ran
  • Since_natural_ran
  • 2016年08月09日 14:38
  • 1514

最短路poj 1125

题目:poj1125Stockbroker Grapevine 题意:此题题意远比题目难 首先,题目可能有多组测试数据,每个测试数据的第一行为经纪人数量N(当N=0时,输入数据结束),...
  • y990041769
  • y990041769
  • 2014年07月19日 09:14
  • 5395

poj1125 Stockbroker Grapevine-最短路

Stockbroker Grapevine         Description Stockbrokers are known to overreact to rumour...
  • ly59782
  • ly59782
  • 2016年08月16日 20:16
  • 266

【POJ 1125】Stockbroker Grapevine

【POJ 1125】Stockbroker Grapevine
  • ChallengerRumble
  • ChallengerRumble
  • 2015年06月27日 01:26
  • 867

poj-1125

// 3072K    250MS    Java import java.util.Arrays; import java.util.Comparator; import java.util....
  • fyfcauc
  • fyfcauc
  • 2014年07月09日 10:37
  • 320

【POJ1125】Stockbroker Grapevine 最短路

题意:Floyd!!!直接说输入格式你们一定会做。 就是说多组数据,然后每组先一个n,然后n行,一个数是有几条出边(单向边),然后每条出边俩数分别为点和边权。 好了,现在求的是点x,使从x...
  • Vmurder
  • Vmurder
  • 2014年11月01日 21:41
  • 706

POJ1125 股票经济人通信网络(多源最短路径)

有N个股票经济人可以互相传递消息,他们之间存在一些单向的通信路径。现在有一个消息要由某个人开始传递给其他所有人,问应该由哪一个人来传递,才能在最短时间内让所有人都接收到消息。若不存在这样一个人,则输出...
  • alongela
  • alongela
  • 2012年12月10日 10:17
  • 2472

POJ 1125 裸最短路 Floyd

题意:第一行输入一个数n,表示有n个节点,之后的n行,第i+1行第一个数表示i节点的子节点个数,接着i对数,每对数a,b表示i到a有一条长度为b的边。输入直到n==0结束。 让你选择一个点,目的是让...
  • qq_25978793
  • qq_25978793
  • 2015年08月28日 20:41
  • 278

poj 1125 Stockbroker Grapevine (最短路求最长距离)

Stockbroker Grapevine Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 33855   Acc...
  • johsnows
  • johsnows
  • 2016年08月02日 21:52
  • 522

iphonex的currentmodel是1125,2001,以及,如何为iphonex适配启动图(我用的是imagex.cassset形式)

今天要适配iphonex时出了问题,从appdelegate里边的运行方法开始,打印出的显示模式的size都是{1125,2001},即375*667的@3x形式,而不是{1125,2436}的iph...
  • a787188834
  • a787188834
  • 2017年12月22日 13:57
  • 140
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:poj 1125
举报原因:
原因补充:

(最多只允许输入30个字)