首页 > 代码库 > 【POJ1125】Stockbroker Grapevine 最短路
【POJ1125】Stockbroker Grapevine 最短路
题意:Floyd!!!直接说输入格式你们一定会做。
就是说多组数据,然后每组先一个n,然后n行,一个数是有几条出边(单向边),然后每条出边俩数分别为点和边权。
好了,现在求的是点x,使从x出发最远的点 最近,不懂直接看代码,风格良好!!!
#include <cstdio> #include <cstring> #include <algorithm> #define N 105 #define inf 0x3f3f3f3f using namespace std; int ans,answ; int map[N][N],n; int main() { // freopen("test.in","r",stdin); int i,j,k; int a,b,c; while(scanf("%d",&n),n) { memset(map,0x3f,sizeof(map)); for(i=1;i<=n;i++) { scanf("%d",&c); for(j=1;j<=c;j++) { scanf("%d%d",&a,&b); map[i][a]=b; } map[i][i]=0; } for(k=1;k<=n;k++)for(i=1;i<=n;i++)for(j=1;j<=n;j++)map[i][j]=min(map[i][j],map[i][k]+map[k][j]); answ=inf; for(i=1;i<=n;i++) { int as=0; for(j=1;j<=n;j++)as=max(as,map[i][j]); if(as<answ) { answ=as; ans=i; } } printf("%d %d\n",ans,answ); } return 0; }
复制去Google翻译翻译结果
【POJ1125】Stockbroker Grapevine 最短路
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。