题目链接

 #include <cstdio>
#include <string>
#include <cstring>
#include <queue>
#include <map>
#include <algorithm>
using namespace std;
#define LL __int64
#define MOD 1000000007
#define INF 0xffffff
int dp[][],g[][],pre[][];
int ans[];
int main()
{
int n,m,minz,i,j,k,sv,ev,w,num,temp;
while(scanf("%d%d",&n,&m)!=EOF)
{
memset(pre,-,sizeof(pre));
for(i = ; i <= n; i ++)
{
for(j = ; j <= n; j ++)
dp[i][j] = g[i][j] = INF;
dp[i][i] = g[i][i] = ;
}
for(i = ; i <= m; i ++)
{
scanf("%d%d%d",&sv,&ev,&w);
g[sv][ev] = dp[sv][ev] = min(dp[sv][ev],w);
g[ev][sv] = dp[ev][sv] = min(dp[ev][sv],w);
pre[sv][ev] = ev;
pre[ev][sv] = sv;
}
minz = INF;
for(i = ; i <= n; i ++)//求最小环
{
for(j = ; j <= i-; j ++)
for(k = j+; k <= i-; k ++)
{
if(minz > dp[j][k] + g[j][i] + g[i][k])
{
minz = dp[j][k] + g[j][i] + g[i][k];
num = ;
ans[] = i;
temp = j;
while(temp != -)
{
ans[num++] = temp;
temp = pre[temp][k];
}
}
}
for(j = ; j <= n; j ++)
for(k = ; k <= n; k ++)
{
if(dp[j][k] > dp[j][i] + dp[i][k])
{
dp[j][k] = dp[j][i] + dp[i][k];
pre[j][k] = pre[j][i];
}
}
}
if(minz == INF)
printf("No solution.\n");
else
{
for(i = ;i < num;i ++)
{
if(i == )
printf("%d",ans[i]);
else
printf(" %d",ans[i]);
}
}
printf("\n");
}
return ;
}

POJ 1734 Sightseeing trip(无向图最小环+输出路径)的更多相关文章

  1. poj 1734 Sightseeing trip判断最短长度的环

    Sightseeing trip Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5590   Accepted: 2151 ...

  2. 【POJ1734】Sightseeing Trip 无向图最小环

    题目大意:给定一个 N 个顶点的无向图,边有边权,如果存在,求出该无向图的最小环,即:边权和最小的环,并输出路径. 题解:由于无向图,且节点数较少,考虑 Floyd 算法,在最外层刚开始遍历到第 K ...

  3. POJ 1734 Sightseeing trip(Floyd)

    题目传送门 题目中文翻译: Description 桑给巴尔岛上的阿德尔顿镇有一家旅行社,它已决定为其客户提供除了许多其他名胜之外的景点.为了尽可能地从景点赚取收入,该机构已经接受了一个精明的决定:有 ...

  4. POJ 1734.Sightseeing trip (Floyd 最小环)

    Floyd 最小环模板题 code /* floyd最小环,记录路径,时间复杂度O(n^3) 不能处理负环 */ #include <iostream> #include <cstr ...

  5. POJ 1734 Sightseeing trip

    题目大意: 求一个最小环. 用Floyd 求最小环算法. #include <iostream> #include <cstdlib> #include <cstdio& ...

  6. poj 1734 Sightseeing trip_ 最小环记录路径

    题意:求最出小环,输出路径 #include <iostream> #include<cstdio> using namespace std; #define N 110 #d ...

  7. poj1734 Sightseeing trip【最小环】

    Sightseeing trip Time Limit: 1000MS   Memory Limit: 65536K Total Submissions:8588   Accepted:3224   ...

  8. URAL 1004 Sightseeing Trip(最小环)

    Sightseeing Trip Time limit: 0.5 secondMemory limit: 64 MB There is a travel agency in Adelton town ...

  9. Codefroces Gym101572 I.Import Spaghetti-有向图跑最小环输出路径(Floyd)

    暑假学的很多东西,现在都忘了,补这道题还要重新学一下floyd,有点难过,我暑假学的东西呢??? 好了,淡定,开始写题解. 这个题我是真的很难过啊,输入简直是有毒啊(内心已经画圈诅咒出题人无数次了.. ...

随机推荐

  1. Subarray Sum & Maximum Size Subarray Sum Equals K

    Subarray Sum Given an integer array, find a subarray where the sum of numbers is zero. Your code sho ...

  2. (转)使用SQLCMD在SQLServer执行多个脚本

    概述: 作为DBA,经常要用开发人员提供的SQL脚本来更新正式数据库,但是一个比较合理的开发流程,当提交脚本给DBA执行的时候,可能已经有几百个sql文件,并且有执行顺序,如我现在工作的公司,十几个客 ...

  3. Java for LeetCode 164 Maximum Gap

    Given an unsorted array, find the maximum difference between the successive elements in its sorted f ...

  4. 电话激活windows server 2012的解决方案

    在激活Windows系统时,微软一直秉承着坑爹的传统,竟然把电话激活的界面给隐藏起来了,只留一个在线激活的界面,但是如果是给服务器激活系统,基本是不会有外网可以用的,不过我们可以通过命令行的方式进行激 ...

  5. chrome 插件

    SwitchySharp.crx SwitchyOmega.crx Readability_v3.0.15.crx Hackman.crx EditThisCookie_v1.4.1.crx AdBl ...

  6. .pro配置选项

    在Qt Creator的项目中添加头文件和库   在Qt Creator中的工程中,工程通过.pro文件管理. 额外需要连接的连接库 unix:LIBS += -L your_lib_path -ly ...

  7. 源码安装mysql-5.6.32.tar.gz

    http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.32.tar.gz 安装依赖包: #yum install wget bison gcc gcc-c ...

  8. ***PHP中empty()和isset()的区别

    对于初学php的人来说,empty()和和isset()用法的区别是很难搞清楚的,他们的用法的差别不仔细去琢磨的话确实很难弄清楚. 先说一下他们的共同点: 都可以判定一个变量是否为空: 都返回bool ...

  9. CcTalk (网络协议)(转)

    ccTalk (发音作"see-see-talk")是一种广泛使用的串行协议,遍及货币交易和销售时点情报系统行业.如硬币和纸币验钞机等外部设备在多元化的自动支付设备如交通,票务,投 ...

  10. C++primer学习笔记(一)——Chapter 3

    3.1 Namespace using Declarations 1.因为C++里有名字空间的定义,例如我们使用cin的时候必须写成std::cin,如果就用一次还是可以接受的,但是如果一直都这样,那 ...