pku_1125_Stockbroker Grapevine

来源:互联网 发布:学校网络拓扑结构图 编辑:程序博客网 时间:2024/05/22 00:00

求全源最短路,裸弗洛伊德.没什么好说的....

源代码:

#include <myhead.h>const int N=101;const int MAX_INT=5555555;int n;int graph[N][N];inline int min(int x,int y) { return x>y?y:x; }inline int max(int x,int y) { return x>y?x:y; }void init(){for(int i=1;i<=n;++i)for(int j=1;j<=n;++j)graph[i][j]=MAX_INT;int t,x,y;for(int i=1;i<=n;++i) {scanf("%d",&t);while(t--) {scanf("%d%d",&x,&y);graph[i][x]=y;}}}void floyd(){int num,minn=MAX_INT;for(int k=1;k<=n;++k) {for(int i=1;i<=n;++i) {int maxn=0;for(int j=1;j<=n;++j) {graph[i][j]=min(graph[i][j],graph[i][k]+graph[k][j]);if(i!=j) maxn=max(graph[i][j],maxn);}if(minn>maxn) { minn=maxn; num=i; }}}printf("%d %d\n",num,minn);}int main(){while(scanf("%d",&n),n) {init();floyd();}return 0;}


原创粉丝点击