参考:http://www.cnblogs.com/zhixingqiezhixing/archive/2012/04/21/2462351.html

View Code

 1 /*
 2 ZOJ  :3332
 3 思路:
 4  这是个竞赛图问题
 5  寻找图中的哈密顿路
 6  竞赛图中一定有哈密顿路,
 7  竞赛图去掉一个顶点和其关联的边仍是竞赛图
 8  参考文献  哈密顿路 及 竞赛图
 9 */
10 #include<iostream>
11 #include<cstdio>
12 #include<cstring>
13 #include<list>
14 using namespace std;
15
16 const int con=110;
17
18 bool map[con][con];
19 list<int> path;
20 list<int>::iterator cur,pre;
21
22 int main()
23 {
24   int t,n,i,x,y;
25   bool f;
26   //freopen("in.txt","r",stdin);
27   //freopen("out.txt","w",stdout);
28   scanf("%d",&t);
29   while(t--)
30    {
31      memset(map,0,sizeof(map));
32      scanf("%d",&n);
33      int ct=n*(n-1)/2;
34      for(i=0;i!=ct;++i)
35       {
36         scanf("%d%d",&x,&y);
37         map[x][y]=true;
38       }
39      path.clear();
40      path.push_back(1);
41
42      for(i=2;i<=n;++i)
43       {
44         f=0;
45         cur=path.begin();
46         if(map[i][*cur])
47          {
48            path.push_front(i);
49            f=1;
50            continue;
51          }
52         cur=path.end();
53         cur--;
54         if(map[*cur][i])
55         {
56           path.push_back(i);
57           f=1;
58           continue;
59         }
60         cur=pre=path.begin();
61         cur++;
62
63         while(cur!=path.end())
64          {
65             if(map[*pre][i]&&map[i][*cur])
66              {
67                path.insert(cur,i);
68                f=1;
69                break;
70              }
71             pre++;
72             cur++;
73          }
74         if(!f)break;
75       }
76
77       if(i<=n)printf("Impossible\n");
78       else
79        {
80          for(cur=path.begin();cur!=path.end();cur++)
81           {
82             if(cur != path.begin())//注意输出时的空格最后一个数字后不能有空格
83                 printf(" ");
84             printf("%d", *cur);
85           }
86           printf("\n");
87        }
88    }
89   system("pause");
90   return 0;
91 }

转载于:https://www.cnblogs.com/zhixingqiezhixing/archive/2012/04/21/2462355.html

ZOJ 3332 (哈密顿路竞赛图)相关推荐

  1. 关于哈密顿路是否存在的遍历算法

    关于哈密顿路是否存在的遍历算法 一.前言 二.基本术语 三.问题及其衍生问题 四.算法思想 1.定理证明刨析 2.改进后的算法 2.1 重定义类型 2.2 重载运算符 3.具体运算流程 4.关键算法 ...

  2. 最短哈密顿路matlab,最短路径系列【最短路径、哈密顿路等】

    最短路径问题,一个经典算法问题.本文粗略总结了一种常见的最短路径算法,以及几个最短路径变种问题的解法,其中包括哈密顿路.对于有向图或者无向图,假设有V个节点,E条边,G[Vi,Vj]表示图中点Vi到V ...

  3. 最短哈密顿路matlab,SHP-VI: 一种基于最短哈密顿通路的POMDP值迭代算法

    摘要:基于试探(trial-based)的值迭代算法是求解部分可观察Markov决策过程(partially observable Markov decision process,POMDP)模型的一 ...

  4. 哈密顿图 哈密顿回路 哈密顿通路(Hamilton)

    本文链接:http://www.cnblogs.com/Ash-ly/p/5452580.html 概念: 哈密顿图:图G的一个回路,若它通过图的每一个节点一次,且仅一次,就是哈密顿回路.存在哈密顿回 ...

  5. 【项目】无人清扫车路径规划:基于ATSP的Lanelet2结构化道路覆盖算法

    实习期间一直在做清扫车项目的全局路径规划,在此记录一下. 本文针对Lanelet2框架下的结构化道路全覆盖问题,将其抽象为ATSP问题,进行求解.最终效果为,实现了在全部车道覆盖至少一次的前提下,最短 ...

  6. P4233-射命丸文的笔记【NTT,多项式求逆】

    正题 题目链接:https://www.luogu.com.cn/problem/P4233 题目大意 随机选择一条有哈密顿回路的nnn个点的竞赛图,求选出图的哈密顿回路的期望个数. 对于每个n∈[1 ...

  7. usaco Postal Vans(dp)

    是哈密顿回路,然后...就不知道怎么写了 ,以前写过类似的不过情况没这么多也没这么复 usaco training 6.1.1 Postal Vans 题解 标签: usaco training题解d ...

  8. 遇到的仍未学习的各种结论

    约瑟夫环:结论板子啦啦啦 n边形费马点:板子以及结论 五边形数:板子板子 欧拉函数:结论结论 全局最小割:算法啦啦啦 康托展开:算法 莫比乌斯反演:算法 莫队:算法 曼哈顿最小生成树 cdq分治:算法 ...

  9. 离散数学简单复习知识点汇总

    命题是非真必假的陈述句. 联结词:与原子命题一起构成复合命题. 原子命题公式:命题常元.命题变元同城为原子命题公式,简称原子公式. 合式公式是由下列规则形成的字符串: (1) 真值 T 和 F 是合式 ...

  10. 总结 离散数学知识点

    总结  离散数学知识点 第二章  命题逻辑 1.→,前键为真,后键为假才为假:<->,相同为真,不同为假: 2.主析取范式:极小项(m)之和:主合取范式:极大项(M)之积: 3.求极小项时 ...

最新文章

  1. rhel5+nis+autofs+nfs
  2. 使用递归的方式实现简易的二分法
  3. 三星android5.0基带,三星首款5G手机没用高通!问题来了:5G基带哪家强?
  4. Facebook开源Horizon:首个用于大规模产品和服务的强化学习平台
  5. 快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?
  6. AI芯片浮出新玩家OURS,来者何人?新晋图灵奖得主华人弟子谭章熹
  7. [No0000143]Win10“卓越性能模式”
  8. 常见的文件格式有哪些
  9. 使用Android Studio 开发APP入门经验
  10. 安卓pdf阅读器_手把手教你选购电子书阅读器!(Kindle/掌阅电子纸/文石电子书/小米电纸书……)...
  11. 基于Python实现的基金交易系统
  12. 网站跳出率高解决方法
  13. 周期函数的自身叠加后功率函数思考
  14. python英文分句_英文分句
  15. ASP.NET Identity 2新增双重认证、帐号锁定、防伪印章功能并修复了一些bug
  16. 基于机智云的智能家用窗户窗帘控制及物联网系统
  17. 信息系统项目管理师备考资料-第三版(4)
  18. MySQL:使用NavicatIP远程连接失败,提示“is not allowed to connect to this MySql server”
  19. php通过curl实现bigpipe
  20. OSPF ISIS RIP实现总公司与分公司等的互联

热门文章

  1. Chrome和edge浏览器书签本地路径以及批量修改书签
  2. 深交所“区块链50指数”,成分股的成色几何?
  3. 新概念第三册背诵: Lesson 1 - A Puma at large
  4. 华为路由器配置静态路由默认路由
  5. Java将指定文件/文件夹压缩成zip、rar压缩文件--解決中文乱码
  6. 入侵检测系统建设及常见入侵手法应对
  7. 编程语言和脚本语言是什么
  8. 华为年报透露员工收入:2016年平均薪酬近60万
  9. 3dsmax VRay分布式渲染
  10. PHP--ThinkPHP6.0怎么打开debug模式