poj 1734 Sightseeing trip_ 最小环记录路径
题意:求最出小环,输出路径
- #include <iostream>
- #include<cstdio>
- using namespace std;
- #define N 110
- #define INF 0xffffff
- int map[N][N],n,m,dist[N][N],pre[N][N],path[N];
- /* run this program using the console pauser or add your own getch, system("pause") or input loop */
- void floyd(){
- int i,j,k,ans=INF,num,p;
- for(i=0;i<=n;i++)
- for(j=0;j<=n;j++)
- dist[i][j]=map[i][j];
- for(k=1;k<=n;k++){
- for(i=1;i<k;i++)
- for(j=i+1;j<k;j++){
- int tmp=dist[i][j]+map[i][k]+map[k][j];
- if(tmp<ans){
- ans=dist[i][j]+map[i][k]+map[k][j];
- p=j;
- num=0;
- while(p!=i){
- path[num++]=p;
- p=pre[i][p];
- }
- path[num++]=i;
- path[num++]=k;
- }
- }
- for(i=1;i<=n;i++)
- for(j=1;j<=n;j++){
- int tmp=dist[i][k]+dist[k][j];
- if(dist[i][j]>dist[i][k]+dist[k][j]){
- dist[i][j]=dist[i][k]+dist[k][j];
- pre[i][j]=pre[k][j];
- }
- }
- }
- if(ans==INF)
- printf("No solution.\n");
- else{
- printf("%d",path[0]);
- for(i=1;i<num;i++)
- printf(" %d",path[i]);
- puts("");
- }
- }
- int main(int argc, char** argv) {
- int i,j,a,b,d;
- // freopen("in.txt","r",stdin);
- while(scanf("%d%d",&n,&m)!=EOF){
- for(i=1;i<=n;i++)
- for(j=1;j<=n;j++){
- map[i][j]=INF;
- pre[i][j]=i;
- }
- for(i=0;i<m;i++){
- scanf("%d%d%d",&a,&b,&d);
- if(map[a][b]>d)
- map[a][b]=map[b][a]=d;
- }
- floyd();
- }
- return 0;
- }
poj 1734 Sightseeing trip_ 最小环记录路径的更多相关文章
- POJ.3894 迷宫问题 (BFS+记录路径)
POJ.3894 迷宫问题 (BFS+记录路径) 题意分析 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, ...
- POJ 1734.Sightseeing trip (Floyd 最小环)
Floyd 最小环模板题 code /* floyd最小环,记录路径,时间复杂度O(n^3) 不能处理负环 */ #include <iostream> #include <cstr ...
- POJ 1734 Sightseeing trip(Floyd)
题目传送门 题目中文翻译: Description 桑给巴尔岛上的阿德尔顿镇有一家旅行社,它已决定为其客户提供除了许多其他名胜之外的景点.为了尽可能地从景点赚取收入,该机构已经接受了一个精明的决定:有 ...
- POJ 1734 Sightseeing trip(无向图最小环+输出路径)
题目链接 #include <cstdio> #include <string> #include <cstring> #include <queue> ...
- poj 1734 Sightseeing trip判断最短长度的环
Sightseeing trip Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5590 Accepted: 2151 ...
- POJ 1734 Sightseeing trip
题目大意: 求一个最小环. 用Floyd 求最小环算法. #include <iostream> #include <cstdlib> #include <cstdio& ...
- poj 1734 floyd求最小环,可得到环上的每个点
#include<stdio.h> #include<string.h> #define inf 100000000 #define N 110 #define min(a, ...
- Sightseeing trip POJ - 1734 -Floyd 最小环
POJ - 1734 思路 : Floyd 实质 dp ,优化掉了第三维. dp [ i ] [ j ] [ k ] 指的是前k个点优化后 i -> j 的最短路. 所以我们就可以 ...
- POJ 1734 求最小环路径 拓展Floyd
九野的博客,转载请注明出处:http://blog.csdn.net/acmmmm/article/details/11888019 题意: n个点 m条无向边 下面m条有权无向边 问图中最小环的路径 ...
随机推荐
- 如何清空android ListView控件的内容
第一种方法: listView.setAdapter(null); 第二种方法: listAdapter.clear(); listAdapter.notifyDataSetChanged() ; 满 ...
- java中spring提供的属性copy方法
BeanUtils.copyProperties(source, target); 今天用到属性的copy方法
- COM组件开发实践(八)---多线程ActiveX控件和自动调整ActiveX控件大小(下)
源代码下载:MyActiveX20081229.rar 声明:本文代码基于CodeProject的文章<A Complete ActiveX Web Control Tutorial>修改 ...
- Seletion Sort
referrence: GeeksforGeeks The selection sort algorithm sorts an array by repeatedly finding the mini ...
- PHP MySQL Insert Into 之 Insert
向数据库表插入数据 INSERT INTO 语句用于向数据库表添加新记录. 语法 INSERT INTO table_name VALUES (value1, value2,....) 您还可以规定希 ...
- 【贪心】【Uva11729】 Commando War
你有n个部下,每个部下需要完成一项任务.第i个部下需要你花Bi分钟交待任务,然后他会立刻独立地.无间断地执行Ji分钟后完成任务.你需要选择交待任务的顺序,使得所有任务尽早执行完毕(即最后一个执行完的任 ...
- JavaScript关闭浏览器
(*^__^*) 嘻嘻……,以前我找关闭浏览器选项卡的代码找不到,我还以为要用后台代码关呢?今天发现只要简单2句JavaScipt代码就可以了.看来很多东西还是在于平时的积累啊的说! 模仿延儿的口气了 ...
- Entity Framework with MySQL
Get Entity Framework: http://msdn.microsoft.com/en-us/data/ee712906 Entity Framework 6 Tools for Vis ...
- css权重计算
第一等:代表内联样式,如: style=””,权值为1000. 第二等:代表ID选择器,如:#content,权值为100. 第三等:代表类,伪类和属性选择器,如.content,权值为1 ...
- iOS之短信认证
短信验证 现在很多的短信验证平台,我们比较常用的有移动开发者服务平台 根据短信验证文档来集成 1. 找到iOS短信验证的集成开发文档 2. 下载SDK和Demo目录结构 3. 运行Demo 4. 写 ...