哈密顿绕行世界问题

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 996    Accepted Submission(s): 606

Problem Description
一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市。
 
Input
前20行的第i行有3个数,表示与第i个城市相邻的3个城市.第20行以后每行有1个数m,m<=20,m>=1.m=0退出.
 
Output
输出从第m个城市出发经过每个城市1次又回到m的所有路线,如有多条路线,按字典序输出,每行1条路线.每行首先输出是第几条路线.然后个一个: 后列出经过的城市.参看Sample output
 
 

Sample Input

2 5 20

1 3 12

2 4 10

3 5 8

1 4 6

5 7 19

6 8 17

4 7 9

8 10 16

3 9 11

10 12 15

2 11 13

12 14 20

13 15 18

11 14 16

9 15 17

7 16 18

14 17 19

6 18 20

1 13 19

5

0

Sample Output

1:  5 1 2 3 4 8 7 17 18 14 15 16 9 10 11 12 13 20 19 6 5

2:  5 1 2 3 4 8 9 10 11 12 13 20 19 18 14 15 16 17 7 6 5

3:  5 1 2 3 10 9 16 17 18 14 15 11 12 13 20 19 6 7 8 4 5

4:  5 1 2 3 10 11 12 13 20 19 6 7 17 18 14 15 16 9 8 4 5

5:  5 1 2 12 11 10 3 4 8 9 16 15 14 13 20 19 18 17 7 6 5

6:  5 1 2 12 11 15 14 13 20 19 18 17 16 9 10 3 4 8 7 6 5

7:  5 1 2 12 11 15 16 9 10 3 4 8 7 17 18 14 13 20 19 6 5

8:  5 1 2 12 11 15 16 17 18 14 13 20 19 6 7 8 9 10 3 4 5

9:  5 1 2 12 13 20 19 6 7 8 9 16 17 18 14 15 11 10 3 4 5

10:  5 1 2 12 13 20 19 18 14 15 11 10 3 4 8 9 16 17 7 6 5

11:  5 1 20 13 12 2 3 4 8 7 17 16 9 10 11 15 14 18 19 6 5

12:  5 1 20 13 12 2 3 10 11 15 14 18 19 6 7 17 16 9 8 4 5

13:  5 1 20 13 14 15 11 12 2 3 10 9 16 17 18 19 6 7 8 4 5

14:  5 1 20 13 14 15 16 9 10 11 12 2 3 4 8 7 17 18 19 6 5

15:  5 1 20 13 14 15 16 17 18 19 6 7 8 9 10 11 12 2 3 4 5

16:  5 1 20 13 14 18 19 6 7 17 16 15 11 12 2 3 10 9 8 4 5

17:  5 1 20 19 6 7 8 9 10 11 15 16 17 18 14 13 12 2 3 4 5

18:  5 1 20 19 6 7 17 18 14 13 12 2 3 10 11 15 16 9 8 4 5

19:  5 1 20 19 18 14 13 12 2 3 4 8 9 10 11 15 16 17 7 6 5

20:  5 1 20 19 18 17 16 9 10 11 15 14 13 12 2 3 4 8 7 6 5

21:  5 4 3 2 1 20 13 12 11 10 9 8 7 17 16 15 14 18 19 6 5

22:  5 4 3 2 1 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5

23:  5 4 3 2 12 11 10 9 8 7 6 19 18 17 16 15 14 13 20 1 5

24:  5 4 3 2 12 13 14 18 17 16 15 11 10 9 8 7 6 19 20 1 5

25:  5 4 3 10 9 8 7 6 19 20 13 14 18 17 16 15 11 12 2 1 5

26:  5 4 3 10 9 8 7 17 16 15 11 12 2 1 20 13 14 18 19 6 5

27:  5 4 3 10 11 12 2 1 20 13 14 15 16 9 8 7 17 18 19 6 5

28:  5 4 3 10 11 15 14 13 12 2 1 20 19 18 17 16 9 8 7 6 5

29:  5 4 3 10 11 15 14 18 17 16 9 8 7 6 19 20 13 12 2 1 5

30:  5 4 3 10 11 15 16 9 8 7 17 18 14 13 12 2 1 20 19 6 5

31:  5 4 8 7 6 19 18 17 16 9 10 3 2 12 11 15 14 13 20 1 5

32:  5 4 8 7 6 19 20 13 12 11 15 14 18 17 16 9 10 3 2 1 5

33:  5 4 8 7 17 16 9 10 3 2 1 20 13 12 11 15 14 18 19 6 5

34:  5 4 8 7 17 18 14 13 12 11 15 16 9 10 3 2 1 20 19 6 5

35:  5 4 8 9 10 3 2 1 20 19 18 14 13 12 11 15 16 17 7 6 5

36:  5 4 8 9 10 3 2 12 11 15 16 17 7 6 19 18 14 13 20 1 5

37:  5 4 8 9 16 15 11 10 3 2 12 13 14 18 17 7 6 19 20 1 5

38:  5 4 8 9 16 15 14 13 12 11 10 3 2 1 20 19 18 17 7 6 5

39:  5 4 8 9 16 15 14 18 17 7 6 19 20 13 12 11 10 3 2 1 5

40:  5 4 8 9 16 17 7 6 19 18 14 15 11 10 3 2 12 13 20 1 5

41:  5 6 7 8 4 3 2 12 13 14 15 11 10 9 16 17 18 19 20 1 5

42:  5 6 7 8 4 3 10 9 16 17 18 19 20 13 14 15 11 12 2 1 5

43:  5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 2 3 4 5

44:  5 6 7 8 9 16 17 18 19 20 1 2 12 13 14 15 11 10 3 4 5

45:  5 6 7 17 16 9 8 4 3 10 11 15 14 18 19 20 13 12 2 1 5

46:  5 6 7 17 16 15 11 10 9 8 4 3 2 12 13 14 18 19 20 1 5

47:  5 6 7 17 16 15 11 12 13 14 18 19 20 1 2 3 10 9 8 4 5

48:  5 6 7 17 16 15 14 18 19 20 13 12 11 10 9 8 4 3 2 1 5

49:  5 6 7 17 18 19 20 1 2 3 10 11 12 13 14 15 16 9 8 4 5

50:  5 6 7 17 18 19 20 13 14 15 16 9 8 4 3 10 11 12 2 1 5

51:  5 6 19 18 14 13 20 1 2 12 11 15 16 17 7 8 9 10 3 4 5

52:  5 6 19 18 14 15 11 10 9 16 17 7 8 4 3 2 12 13 20 1 5

53:  5 6 19 18 14 15 11 12 13 20 1 2 3 10 9 16 17 7 8 4 5

54:  5 6 19 18 14 15 16 17 7 8 9 10 11 12 13 20 1 2 3 4 5

55:  5 6 19 18 17 7 8 4 3 2 12 11 10 9 16 15 14 13 20 1 5

56:  5 6 19 18 17 7 8 9 16 15 14 13 20 1 2 12 11 10 3 4 5

57:  5 6 19 20 1 2 3 10 9 16 15 11 12 13 14 18 17 7 8 4 5

58:  5 6 19 20 1 2 12 13 14 18 17 7 8 9 16 15 11 10 3 4 5

59:  5 6 19 20 13 12 11 10 9 16 15 14 18 17 7 8 4 3 2 1 5

60:  5 6 19 20 13 14 18 17 7 8 4 3 10 9 16 15 11 12 2 1 5

春节就是忙啊。。。不说什么了,看代码把。

ps:http://acm.hdu.edu.cn/showproblem.php?pid=2181

#include<iostream>
#include<algorithm>
using namespace std; int p[][];
int ant[];//答案
int vst[];
int m,t;
bool cmp(int a,int b)
{
return a<b;//默认从小到大
} void dfs(int x, int k)
{
int i,j;
ant[k]=x;//存走过的路;
if(x==m&&k>=)
{
printf("%d: ",++t);
for(i=;i<=k;i++)
printf("%d%c",ant[i],i==k?'\n':' ');//要习惯哈!以后就这么用。
}
for(j=;j<;j++)
{
if(vst[p[x][j]]== )
{
vst[p[x][j]]=;
dfs(p[x][j],k+);
vst[p[x][j]]=;
}
}
return ;
}
int main()
{
int k,i,j;
for(k=;k<=;k++ )
vst[k]=;
for(i=;i<=;i++ )
scanf("%d%d%d",&p[i][],&p[i][],&p[i][]);
for(j=;j<=;j++)
sort(p[j],p[j]+,cmp);
while(scanf("%d",&m)!=EOF&&m)
{
t=;
dfs(m,);
}
}

今天外婆70大寿,祝外婆身体健康,长命百岁。o(∩_∩)o

哈密顿绕行世界问题(hdu2181)的更多相关文章

  1. 哈密顿绕行世界问题---hdu2181(全排列问题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2181 题意很容易理解,dfs就可以了 #include <iostream> #inclu ...

  2. 哈密顿绕行世界问题 HDU2181

    题目大意都比较简单,用vector存一下图,然后爆搜就可以了. #include<bits/stdc++.h> using namespace std; ; vector<]; bo ...

  3. HDU2181:哈密顿绕行世界问题(DFS)

    哈密顿绕行世界问题 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Sub ...

  4. Hdu2181 哈密顿绕行世界问题 2017-01-18 14:46 45人阅读 评论(0) 收藏

    哈密顿绕行世界问题 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Sub ...

  5. HDU2181 哈密顿绕行世界问题 —— DFS

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2181 哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others) ...

  6. 【HDU - 2181】哈密顿绕行世界问题(dfs+回溯)

    -->哈密顿绕行世界问题 Descriptions: 一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市.  Input 前2 ...

  7. HDU 2181 哈密顿绕行世界问题(经典DFS+回溯)

    哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  8. HDOJ 2181 哈密顿绕行世界问题

    哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  9. HDU 2181 哈密顿绕行世界问题 (DFS)

    哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

随机推荐

  1. Android逆向进阶(7)——揭开Hook的神秘面纱

    本文作者:i春秋作家——HAI_ 0×00 前言 HAI_逆向使用手册(想尝试一下新的写法) 其他 Android逆向进阶 系列课程 <<<<<<< 人物说明 ...

  2. 【hyperscan】示例解读 simplegrep

    示例位置: <hyperscan source>/examples/simplegrep.c参考:http://01org.github.io/hyperscan/dev-referenc ...

  3. cytoscape.js在vue项目中的安装及案例

    1. 安装: npm i cytoscape --save 2. 引入:main.js import cytoscape from 'cytoscape'; Vue.prototype.$cytosc ...

  4. 【sping揭秘】4、某些无法注册到IOC容器的对象如何交给spring托管

    可以实现spring的factoryBean 接口,这样可以加入spring的IOC容器 比如现在有一个类叫MyObject,我们没有这个对象的源码,无法对这个对象进行操作,那么我们如何加入sprin ...

  5. 利用VS2017跨平台远程调试aspnetcore应用

    vs2017开始支持跨平台远程调试coreclr的应用,通常用于调试linux与mac上运行的aspnetcore程序,而如果运行在docker中的应用 要使用跨平台远程调试功能,首先运行corecl ...

  6. Python中Gradient Boosting Machine(GBM)调参方法详解

    原文地址:Complete Guide to Parameter Tuning in Gradient Boosting (GBM) in Python by Aarshay Jain 原文翻译与校对 ...

  7. vector源码(参考STL源码--侯捷):空间分配导致迭代器失效

    vector源码1(参考STL源码--侯捷) vector源码2(参考STL源码--侯捷) vector源码(参考STL源码--侯捷)-----空间分配导致迭代器失效 vector源码3(参考STL源 ...

  8. c++的动态绑定和静态绑定

    为了支持c++的多态性,才用了动态绑定和静态绑定. 1.对象的静态类型:对象在声明时采用的类型.是在编译期确定的. 2.对象的动态类型:目前所指对象的声明.在运行期决定.对象的动态类型可以更改,但是静 ...

  9. windows线程退出的方法

    线程的handle用处: 线程的handle是指向“线程的内核对象”的,而不是指向线程本身.每个内核对象只是内核分配的一个内存块,并且只能由内核访问.该内存块是一种数据结构,它的成员负责维护对象的各种 ...

  10. 12 二叉树-链式存储-二叉排序树(BST)

    呜呜 写这个东西花了我2天 居然花了两天!!我还要写AVL呢啊啊啊啊啊啊啊!!!!!! 等下还要跑去上自习 大早上起来脸都没洗现在先赶紧发博客 昨晚写出来了独自在其他人都睡着了的宿舍狂喜乱舞.. 迷之 ...