POJ 1734
#include<iostream>
#include<stdio.h>
#define MAXN 105
#define inf 123456789
using namespace std; int _m[MAXN][MAXN];
int floy[MAXN][MAXN];
int pre[MAXN][MAXN];
int ans[MAXN];
int n;
int num;
void floyd();
int main()
{
//freopen("acm.acm","r",stdin);
int m;
int u;
int v;
int i;
int j;
int len;
memset(_m,,sizeof(_m));
memset(pre,-,sizeof(pre));
cin>>n>>m;
for(i = ; i < n; ++ i)
{
for(j = ; j <n; ++ j)
{
floy[i][j] = inf;
floy[j][i] = inf;
}
floy[i][i] = ;
} for(i = ; i < m; ++ i)
{
cin>>u>>v>>len;
-- u;
-- v;
if(floy[u][v] > len)
{
_m[u][v] = _m[v][u] = len;
floy[u][v] = floy[v][u] = len;
pre[u][v] = v;
pre[v][u] = u;
} }
floyd();
if(num == )
{
cout<<"No solution."<<endl;
}
else
{
for(i = ; i < num; ++ i)
{
cout<<ans[i]+<<" ";
}
cout<<endl;
}
} void floyd()
{
int k;
int i;
int j;
int min = inf;
int temp;
num = ;
for(k = ; k < n; ++ k)
{
for(i = ; i < k; ++ i)
{
for(j = ; j < k; ++ j)
{
if(_m[i][k] && _m[k][j] && i != j)
{
if(_m[i][k] + _m[k][j] + floy[i][j] < min)
{
min = _m[i][k] + _m[k][j] + floy[i][j];
ans[] = k;
num = ;
int p = i;
while(p != -)
{
ans[num ++] = p;
p = pre[p][j];
// cout<<"00000000000"<<endl;
// cout<<p<<endl;
}
// return ;
}
}
}
} for(i = ; i < n; ++ i)
{
for(j = ; j < n; ++ j)
{
if(floy[i][k] + floy[k][j] < floy[i][j])
{
floy[i][j] = floy[i][k] + floy[k][j];
pre[i][j] = pre[i][k];
}
}
}
} }
关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。
技术网站地址: vmfor.com
POJ 1734的更多相关文章
- Sightseeing trip POJ - 1734 -Floyd 最小环
POJ - 1734 思路 : Floyd 实质 dp ,优化掉了第三维. dp [ i ] [ j ] [ k ] 指的是前k个点优化后 i -> j 的最短路. 所以我们就可以 ...
- POJ 1734 Sightseeing trip(无向图最小环+输出路径)
题目链接 #include <cstdio> #include <string> #include <cstring> #include <queue> ...
- POJ 1734.Sightseeing trip (Floyd 最小环)
Floyd 最小环模板题 code /* floyd最小环,记录路径,时间复杂度O(n^3) 不能处理负环 */ #include <iostream> #include <cstr ...
- POJ 1734 Sightseeing trip
题目大意: 求一个最小环. 用Floyd 求最小环算法. #include <iostream> #include <cstdlib> #include <cstdio& ...
- poj 1734 Sightseeing trip_ 最小环记录路径
题意:求最出小环,输出路径 #include <iostream> #include<cstdio> using namespace std; #define N 110 #d ...
- POJ 1734 求最小环路径 拓展Floyd
九野的博客,转载请注明出处:http://blog.csdn.net/acmmmm/article/details/11888019 题意: n个点 m条无向边 下面m条有权无向边 问图中最小环的路径 ...
- poj 1734 Sightseeing trip判断最短长度的环
Sightseeing trip Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5590 Accepted: 2151 ...
- 【POJ 1734】 Sightseeing Trip
[题目链接] 点击打开链接 [算法] floyd求最小环 输出路径的方法如下,对于i到j的最短路,我们记pre[i][j]表示j的上一步 在进行松弛操作的时候更新pre即可 [代码] #include ...
- poj 1734 floyd求最小环,可得到环上的每个点
#include<stdio.h> #include<string.h> #define inf 100000000 #define N 110 #define min(a, ...
随机推荐
- Google Maps投影在ArcGIS中的设置
Google Maps采用的地图投影为Web Mercator,其优点为不同维度其形状保持不变,当然面积要发生变化. ArcGIS9.3中可以直接设置为WGS 1984 Web Mercator,操作 ...
- ArcGIS 坐标系统文件
坐标是GIS数据的骨骼框架,能够将我们的数据定位到相应的位置,为地图中的每一点提供准确的坐标. ArcGIS自带了多种坐标系统,在${ArcGISHome}Coordinate Systems目录下可 ...
- Fedora 20 创建桌面快捷方式
创建desktop文件 sudo touch /usr/share/applications/sublime.desktop 添加内容 [Desktop Entry] Encoding=UTF-8 N ...
- Linux--变量与虚拟内存
定义一个变量:存储类型 数据类型 变量名 存储类型(变量存储的位置):auto.register.static.extern 1.auto:对于局部变量,atuo可以缺省.位置:栈 2.exter ...
- jQuery增加删除修改tab导航特效
HTML: <div class="container iden_top"> <ul> ...
- 如何使用NET Reactor为您的.Net(C#,VB.Net) 源代码加密
前言 VS开发的源代码安全性,是很多开发者头痛的事情.于是保护好源代码便成了开发者们最关心的事情之一了. 在网上搜一搜,很多有不少的第三方工具可以为源代码加密.加密方式不外乎就是混淆,加壳. 理论上, ...
- 转换 Html 内容为纯文本内容(html,文本互转)
转自http://www.cnblogs.com/jyshi/archive/2011/08/09/2132762.html : /// <summary> /// 转换纯文本内容为 HT ...
- git服务器简易搭建法
受尽svn各种折磨的小伙伴都听说过git. 但是网上一搜索, 本来打算跟svn一样. 下一个服务器, 装下就可以开始用了. 没想到啊, 没想到. 居然需要Linux天赋点… 好吧, 拜鸟哥门下把Lin ...
- 基于jquery打造的网页右侧自动收缩浮动在线客服代码
基于jquery打造的网页右侧自动收缩浮动在线QQ客服代码, 当前比较流行的一款QQ在线jquery特效代码, 代码中还带有IE6下PNG图片透明的特效,如果想研究IE6下PNG透明的同学也可以下载研 ...
- 多线程中,static函数与非static函数的区别?
最近在学习多线程,刚入门,好多东西不懂,下面这段代码今天想了半天也没明白,希望看到的兄弟姐妹能解释下. public class NotThreadSafeCounter extends Thread ...