poj 1734(最小环+路径)
来源:互联网 发布:淘宝怎样付款 编辑:程序博客网 时间:2024/05/16 11:39
题目链接:https://vjudge.net/problem/13143/origin
分析:模板题,理解floyd 的在 i , j 路径中没有包含k(因为此时k未用来更新),即可写出最小环
在INF这里wa了两发,习惯值 1e9 不是最大值(查找时判断一下可以避免,但。。。懒了)
#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>using namespace std;#define maxn 105#define INF 0x7ffffffint n , m;int mp[maxn][maxn];int edge[maxn][maxn];int path[maxn][maxn];int ans[maxn] ;int cnt;int mm ;void deal(){ mm = INF; for(int k = 1 ; k <= n ; ++k) { for(int i = 1 ; i < k ; ++i) { for(int j = i + 1 ; j < k ; ++j) { int x = edge[i][j] + mp[k][i] + mp[k][j]; if( x < mm ) { mm = x; int tmp = j; cnt = 0; while(tmp != i) { ans[cnt++] = tmp; tmp = path[i][tmp]; } ans[cnt++] = i; ans[cnt++] = k; } } } for(int i = 1 ; i <= n ; ++i) { for(int j = 1 ;j <= n ; ++j) { if( edge[i][j] > edge[i][k] + edge[k][j] ) { edge[i][j] = edge[i][k] + edge[k][j]; path[i][j] = path[k][j]; } } } }}void init(){ for(int i = 0 ; i <= n ; ++i){ for(int j = 0 ; j <= n ; ++j){ edge[i][j] = mp[i][j] = INF; path[i][j] = i; } }}int main(){ while( cin >> n >> m ) { init(); for(int i = 0 ; i < m ; ++i) { int a,b,c; scanf("%d %d %d",&a,&b,&c); edge[a][b] = edge[b][a] = min(edge[a][b],c); mp[a][b] = mp[b][a] = edge[a][b]; } deal(); if( mm == INF ) { printf("No solution.\n"); continue; } for(int i = 0 ; i < cnt ; ++i) { printf("%d%s",ans[i],(i==cnt-1)?"\n":" "); } } return 0;}
阅读全文
0 0
- poj 1734(最小环+路径)
- poj 1734 (floyd求最小环并打印路径)
- POJ 1734 最小环的路径
- POJ 1734 最小环
- poj 1734 Sightseeing trip_ 最小环记录路径
- POJ 1734 求最小环路径 拓展Floyd
- POJ 1734 Sightseeing trip (Floyd 最小环+记录路径)
- POJ 1734 Sightseeing trip【floyd求最小环+记录路径】
- poj 1734 Sightseeing trip (floyd求最小环并记录路径)
- 【Floyd求最小环 && 保存路径】POJ
- poj 1734 Sightseeing trip (floyed最小环)
- POJ 1734 Sightseeing trip(最小环-Floyd)
- POJ 1734 Sightseeing trip [最小环]
- floyd 求最小环 poj 1734
- 【POJ】1734 Sightseeing trip floyd最小环
- poj 1734 Sightseeing trip(floyd 最小环)
- POJ 1734 Sightseeing Trip (最小环)
- Poj 1734 Sightseeing trip floyd最小环
- 第五章:数组
- 目标检测的图像特征提取之(一)HOG特征
- Python的多继承
- 1071: 骑马修栅栏
- Java字符串学习总结
- poj 1734(最小环+路径)
- 编译和链接基础问题
- 4.this关键字
- cocos2d中缓动action的UI示意
- python从入门到实践:9-6 冰淇淋小店
- Leetcode 99. Recover Binary Search Tree O(1)
- 我的项目管理模型
- Android实现来电和去电的监听
- 稀疏矩阵存储格式总结+存储效率对比:COO,CSR,DIA,ELL,HYB