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, ...
随机推荐
- SharedSDK微信分享不成功,分享之后没有反应
对于一般来说,使用SharedSDK的时候,分享不成功不外乎下面几个原因: 1.测试没有打包2.打包的keystore跟微信开放平台上面的不一致, 导致MD5码不一致3.分享参数错误4.应用没有审核通 ...
- 【风马一族_Android】android的新发现
Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW");这一段句话.可以调用出系统 ...
- 《mysql数据库备份小脚本》
vim mysql.sh #!/bin/bashDAY=`date +%Y-%m-%d` //日期以年月日显示并赋予DAY变量SIZE=`du -sh /var/lib/mysql //查看mysql ...
- ROS
1 SSH 为什么我用 ssh 用户名 就不行,用 ssh xxx.xxx.xxx.xxx -l 用户名 就可以了呢 2 SCP 传送文件到另一个IP 用法: scp xxx root@xx.x ...
- !!! FAILED BINDER TRANSACTION !!! TransactionTooLargeException
- ::): !!! FAILED BINDER TRANSACTION !!! xxxRecorder 运行40多分钟,崩溃,捕获日志 03-12 14:50:12.353: E/JavaBinde ...
- WebApp遇到的一些坑
一.关于js 1. 引用zepto.js时,借用插件swipe时,写的滑动加载,在ios上可以实行滑动加载数据,但是在安卓上,就是不能滑动: 注: 在使用插件的时候,要先注意其兼容性问题. 2. 用j ...
- AngularJS(17)-Angular小程序
现在可以开始创建您的第一个 AngularJS 应用程序,一个 AngularJS 单页 Web 应用. <!DOCTYPE html> <html lang="en&qu ...
- 如何开启MYSQL远程连接权限
开启MYSQL远程连接权限 //建议设置固定IP mysql> GRANT ALL PRIVILEGES ON *.* TO root@"8.8.8.8" IDENTIFIE ...
- SpringUtil
/** SpringUtil.java {{IS_NOTE Purpose: Description: History: Thu Jun 1 13:53:53 2006, Created by hen ...
- opencv初体验
http://guoming.me/opencv-config 这篇文章有讲解opencv的安装与配置 一些常用库 opencv_core249d.lib opencv_imgproc249d.li ...