POJ 1125 最短路的水题
来源:互联网 发布:js 关联数组 join 编辑:程序博客网 时间:2024/04/29 19:57
#include<cstdio>#define MAX 0x3f3f3f3fusing namespace std;int main(){ int m; //printf("几组数据\n"); //scanf("%d",&n); while(scanf("%d",&m)!=EOF&&m!=0) { int min3=MAX; int ans; //int m; //printf("有几个节点\n"); //scanf("%d",&m); //for(int r=1; r<=m; r++) //{ int map[m+5][m+5]; for(int i=1; i<=m; i++) { for(int u=1; u<=m; u++) { map[i][u]=MAX; } } for(int i=1; i<=m; i++) { int e,in,len; //printf("第%d个节点与几个节点相连?\n",i); scanf("%d",&e); //printf("与谁相连,距离为多少\n"); for(int u=1; u<=e; u++) { scanf("%d %d",&in,&len); map[i][in]=len; } } for(int r=1; r<=m; r++) { int vis[m+5]; for(int i=1; i<=m; i++) { vis[i]=0; } int dis[m+5]; int ben,end; //printf("输入起点和终点\n"); //scanf("%d %d",&ben,&end); for(int i=1; i<=m; i++) { dis[i]=map[r][i]; } vis[r]=1; dis[r]=0; int p; for(int i=1; i<=m-1; i++) { int min=MAX; for(int j=1; j<=m; j++) { if(!vis[j]&&min>dis[j]) { min=dis[j]; p=j; } } vis[p]=1; for(int j=1; j<=m; j++) { if(!vis[j]&&min+map[p][j]<dis[j]) { dis[j]=min+map[p][j]; } } } int max,ant; max=0; for(int j=1; j<=m; j++) { if(max<dis[j]) { max=dis[j]; ant=r; } } if(max<min3) { min3=max; ans=ant; } } printf("%d %d\n",ans,min3); } return 0;}
0 0
- POJ 1125 最短路的水题
- 最短路poj 1125
- poj 1125 最短路
- poj 1125 最短路
- poj 1125 (求起点的最短路)
- POJ 1502 Dijkstra最短路水题
- poj 2387 最短路水题
- poj 1125(最短路)
- poj 1125 最短路问题
- poj 1125最短路flody
- POJ 1125(最短路)
- POJ 1125 最短路 FLOYD
- poj 1125(最短路算法)
- poj 部分 最短路题
- 【POJ】3463 Sightseeing 最短路+比最短路大一的路(最短路 or 最短路+DP)
- POJ 3259 有负权的最短路 SPFA
- poj 1062 昂贵的聘礼(最短路)
- poj 1062(有限制的最短路)
- 背包九讲
- bzoj1042[HAOI2008] 硬币购物
- LR11(二)录制脚本
- 28. Implement strStr()
- PyGame---入门(1)
- POJ 1125 最短路的水题
- 爱因斯坦阶梯问题
- Vue.js学习系列(十一)---构造器
- 括号匹配
- 项目架构开发:数据访问层之UnitOfWork
- 35. Search Insert Position
- 如何测量记录动态数组长度
- 最大最小公倍数
- Servlet 技术