POJ 1125(dijkstra)
来源:互联网 发布:it培训评价网 编辑:程序博客网 时间:2024/05/21 17:27
/*思路 : 先将数据转成邻接矩阵, 再用最短路径的算法,依次求出每个点到全部点的距离,返回传输到所有点的所要时间,输出那个点所要时间最小的数据,即可; */#include <iostream>#include <cstring>using namespace std;const int INF = 1<<30;const int MAX = 105;int map[MAX][MAX];int dis[MAX];int sign[MAX];int res;//初始化邻接矩阵 void init(int count){for(int i=1; i<=count; ++i){for(int j=1; j<=count; ++j){if(i==j){map[i][j] = 0;}else{map[i][j] = INF;}}}}//可以用floyd算法 int dijkstra(int start,int count){memset(sign, 0, sizeof(sign));memset(dis, 0, sizeof(dis));int max=0,min,temp;for(int i=1; i<=count; ++i){dis[i] = map[start][i];}sign[start] = 1;for(int i=1; i<=count; ++i){min = INF;for(int j=1; j<=count; ++j){if(!(sign[j]) && min>dis[j]){min = dis[j];temp = j;}}sign[temp] = 1;for(int j=1; j<=count; ++j){if(!(sign[j]) && dis[j] > dis[temp] + map[temp][j]){dis[j] = dis[temp] + map[temp][j];}}}for(int i=1; i<=count; ++i){if(max < dis[i]){max = dis[i];}}return max;}int main(){int count,y,minutes,path;while(1){scanf("%d",&count);if(count == 0) break;init(count);for(int i=1; i<=count; ++i){scanf("%d",&path);while(path--){scanf("%d %d",&y, &minutes);map[i][y] = minutes;}}res = INF;int location;for(int i=1; i<=count; ++i){int temp = dijkstra(i,count);if(res > temp){res = temp;location = i;}}//如果有点被孤立,输出disjoint if(res == INF) {continue;printf("disjoint\n");}printf("%d %d\n",location, res);}return 0;}
阅读全文
0 0
- poj 1125 dijkstra
- POJ 1125 暴力+Dijkstra
- POJ 1125(dijkstra)
- [POJ 1125]Stockbroker Grapevine[dijkstra]
- Dijkstra POJ
- poj 1125(Stockbroker Grapevine)Dijkstra算法
- poj 1125 Stockbroker Grapevine(图论:Dijkstra)
- POJ 1125 Stockbroker Grapevine(Dijkstra)
- poj 3159 heap+dijkstra
- poj 2253 - Frogger --- dijkstra
- poj 3268 dijkstra
- POJ 1847 Dijkstra应用
- poj 1847(Tram) Dijkstra
- poj 2253 : Frogger (dijkstra)
- POJ 3268 dijkstra算法
- POJ 1502 dijkstra()
- POJ 1797 dijkstra()变形
- dijkstra-poj-2263
- springmvc 登陆后跳转到登陆前的界面
- 遗传算法求解TSP问题
- BZOJ1150(CTSC2007)[数据备份Backup]--贪心+链表+堆
- MySQL zip包使用安装、修改密码讲解
- 61. Rotate List
- POJ 1125(dijkstra)
- Go sha256使用实例介绍
- vi命令总结
- Kotlin新语言使用RxJava+Retrofit请求网络数据+lambda表达式+RecyclerView展示+Glide展示图片
- java需要注意的陷阱和良好的习惯
- 成为“高维空间”的人
- 019Remove Nth Node From End of List
- Spring+junit+Activiti工作流源码免费下载
- 蓝桥杯 算法训练 矩阵乘法