题意:求最出小环,输出路径

  1. #include <iostream>
  2. #include<cstdio>
  3. using namespace std;
  4. #define N 110
  5. #define INF 0xffffff
  6. int map[N][N],n,m,dist[N][N],pre[N][N],path[N];
  7. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  8. void floyd(){
  9. int i,j,k,ans=INF,num,p;
  10. for(i=0;i<=n;i++)
  11. for(j=0;j<=n;j++)
  12. dist[i][j]=map[i][j];
  13. for(k=1;k<=n;k++){
  14. for(i=1;i<k;i++)
  15. for(j=i+1;j<k;j++){
  16. int tmp=dist[i][j]+map[i][k]+map[k][j];
  17. if(tmp<ans){
  18. ans=dist[i][j]+map[i][k]+map[k][j];
  19. p=j;
  20. num=0;
  21. while(p!=i){
  22. path[num++]=p;
  23. p=pre[i][p];
  24. }
  25. path[num++]=i;
  26. path[num++]=k;
  27. }
  28. }
  29.  
  30. for(i=1;i<=n;i++)
  31. for(j=1;j<=n;j++){
  32. int tmp=dist[i][k]+dist[k][j];
  33. if(dist[i][j]>dist[i][k]+dist[k][j]){
  34. dist[i][j]=dist[i][k]+dist[k][j];
  35. pre[i][j]=pre[k][j];
  36. }
  37. }
  38. }
  39. if(ans==INF)
  40. printf("No solution.\n");
  41. else{
  42. printf("%d",path[0]);
  43. for(i=1;i<num;i++)
  44. printf(" %d",path[i]);
  45. puts("");
  46. }
  47. }
  48. int main(int argc, char** argv) {
  49. int i,j,a,b,d;
  50. // freopen("in.txt","r",stdin);
  51. while(scanf("%d%d",&n,&m)!=EOF){
  52. for(i=1;i<=n;i++)
  53. for(j=1;j<=n;j++){
  54. map[i][j]=INF;
  55. pre[i][j]=i;
  56. }
  57. for(i=0;i<m;i++){
  58. scanf("%d%d%d",&a,&b,&d);
  59. if(map[a][b]>d)
  60. map[a][b]=map[b][a]=d;
  61. }
  62. floyd();
  63. }
  64. return 0;
  65. }

poj 1734 Sightseeing trip_ 最小环记录路径的更多相关文章

  1. POJ.3894 迷宫问题 (BFS+记录路径)

    POJ.3894 迷宫问题 (BFS+记录路径) 题意分析 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, ...

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

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

  3. POJ 1734 Sightseeing trip(Floyd)

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

  4. POJ 1734 Sightseeing trip(无向图最小环+输出路径)

    题目链接 #include <cstdio> #include <string> #include <cstring> #include <queue> ...

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

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

  6. POJ 1734 Sightseeing trip

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

  7. poj 1734 floyd求最小环,可得到环上的每个点

    #include<stdio.h> #include<string.h> #define inf  100000000 #define N 110 #define min(a, ...

  8. Sightseeing trip POJ - 1734 -Floyd 最小环

    POJ - 1734 思路 : Floyd 实质 dp ,优化掉了第三维. dp [ i ] [ j ] [ k ] 指的是前k个点优化后    i  ->  j   的最短路. 所以我们就可以 ...

  9. POJ 1734 求最小环路径 拓展Floyd

    九野的博客,转载请注明出处:http://blog.csdn.net/acmmmm/article/details/11888019 题意: n个点 m条无向边 下面m条有权无向边 问图中最小环的路径 ...

随机推荐

  1. 如何清空android ListView控件的内容

    第一种方法: listView.setAdapter(null); 第二种方法: listAdapter.clear(); listAdapter.notifyDataSetChanged() ; 满 ...

  2. java中spring提供的属性copy方法

    BeanUtils.copyProperties(source, target); 今天用到属性的copy方法

  3. COM组件开发实践(八)---多线程ActiveX控件和自动调整ActiveX控件大小(下)

    源代码下载:MyActiveX20081229.rar 声明:本文代码基于CodeProject的文章<A Complete ActiveX Web Control Tutorial>修改 ...

  4. Seletion Sort

    referrence: GeeksforGeeks The selection sort algorithm sorts an array by repeatedly finding the mini ...

  5. PHP MySQL Insert Into 之 Insert

    向数据库表插入数据 INSERT INTO 语句用于向数据库表添加新记录. 语法 INSERT INTO table_name VALUES (value1, value2,....) 您还可以规定希 ...

  6. 【贪心】【Uva11729】 Commando War

    你有n个部下,每个部下需要完成一项任务.第i个部下需要你花Bi分钟交待任务,然后他会立刻独立地.无间断地执行Ji分钟后完成任务.你需要选择交待任务的顺序,使得所有任务尽早执行完毕(即最后一个执行完的任 ...

  7. JavaScript关闭浏览器

    (*^__^*) 嘻嘻……,以前我找关闭浏览器选项卡的代码找不到,我还以为要用后台代码关呢?今天发现只要简单2句JavaScipt代码就可以了.看来很多东西还是在于平时的积累啊的说! 模仿延儿的口气了 ...

  8. Entity Framework with MySQL

    Get Entity Framework: http://msdn.microsoft.com/en-us/data/ee712906 Entity Framework 6 Tools for Vis ...

  9. css权重计算

    第一等:代表内联样式,如: style=””,权值为1000.    第二等:代表ID选择器,如:#content,权值为100.    第三等:代表类,伪类和属性选择器,如.content,权值为1 ...

  10. iOS之短信认证

    短信验证 现在很多的短信验证平台,我们比较常用的有移动开发者服务平台 根据短信验证文档来集成 1. 找到iOS短信验证的集成开发文档 2. 下载SDK和Demo目录结构  3. 运行Demo 4. 写 ...