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, ...
随机推荐
- extern 数组
最近比较关注C++对象的Linkage类型,然后今天突然想起extern数组这个奇葩的东西,稍微折腾了一下,顺手写个随笔. 首先在cpp中定义几个数组: ,,,,}; ,,,,}; ,,,,}; 然后 ...
- centos安装环境准备工作
我们的centos系统安装好了,并且网络已经连通了,接下来介绍一下,在外网连通的情况下,我们如何安装tar.gz等形式的软件. centos安装后如果想作为正常应用development tools和 ...
- jQuery滚动监听插件Waypoints
页面内滚动操作的导航插件Waypoints.它可以让你方便的处理页面滚动事件,你可以比较自由的在自己的UI中使用这个插件控制页面滚动事件. Waypoints根据用户滚动的位置来帮助开发者构建相关的设 ...
- 初识NoSQL 快速认识NoSQL数据库 分析Analytics For Hackers: How To Think About Event Data
做了一年的大一年度项目了,对于关系型数据库结构还是有些了解了,有的时候还是觉得这种二维表不是很顺手.在看过一篇文章之后,对NoSQL有了初步的了解,(https://keen.io/blog/5395 ...
- js获取location.href的参数实例代码
本文为大家介绍下js如何获取location.href的参数,需要注意的是去掉参数里最开头的?号,具体实现如下,有需要的朋友可以参考下,希望对大家有所帮助 window.location.search ...
- PHP CI 查询条件大全
php CI 框架 this->db->where() 条件 PHP 5 版本 $this->db->where() 接受可选的第三个参数.如果你将它设置为 FALSE, Co ...
- PHP安全之register_globals
一.register_globals = Off 和 register_globals = On的区别 register_globals是php.ini里的一个配置,这个配置影响到php如何接收传递过 ...
- jquery实现ajax,返回json数据
jquery实现ajax可以调用几种方法 我经常用的是$get(url,data,callback,type)方法 其中url是异步请求的页面(可以是.ashx文件),data是参数,callback ...
- Win7构造wifi热点【Written By KillerLegend】
1:Win+R打开DOS,输入以下命令然后回车,不要关闭该DOS窗口: netsh wlan set hostednetwork mode = allow ssid =你的wifi热点名字 key ...
- Oracle利用数据泵迁移用户
一.利用数据泵将数据导出 1.1.确定字符集: select * from v$nls_parameters; 或 select userenv('language') from dual; 1.2. ...