哈密顿绕行世界问题

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. .net下WinDbg使用说明

    加载调试文件 .loadby sos mscorwks #.Net 3.5版本及以下 .loadby sos clr #.Net 4.0 WinDbg的基本命令 !threads #显示所有线程 !d ...

  2. linux安装mysql详细步骤

    最近买了个腾讯云服务器,搭建环境. 该笔记用于系统上未装过mysql的干净系统第一次安装mysql.自己指定安装目录,指定数据文件目录. linux系统版本: CentOS 7.3 64位 安装源文件 ...

  3. BZOJ 2200--[Usaco2011 Jan]道路和航线(最短路&拓扑排序)

    2200: [Usaco2011 Jan]道路和航线 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1128  Solved: 414[Submit] ...

  4. 百度地图sdk---pc端

    <div class="map" style="width: 1196px;height: 500px;margin: 50px auto;"> & ...

  5. 2018 Multi-University Training Contest 6

    A.oval-and-rectangle 题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6362 题意:在长半轴为a,短半轴为b的椭圆内部,以y=c( ...

  6. zabbix 监控安装

    注意:此篇是在安装好lnmp环境后才能部署的操作,所以,做之前准备好lnmp环境,或者可以参考我做的lnmp环境,之后接着此篇开始安装 监控系统Zabbix-3.2.1的安装 zabbix-serve ...

  7. 【xsy2272】 与运算 状压dp

    题目大意:给你一个长度为$n$的序列$a$,我们定义$f_i$表示序列$a$前i项一次进行按位与运算后的值. 我们认为一个序列的价值为$\sum_{i=1}^{n}f_i$,现在你要重新排列序列$a$ ...

  8. 阿里巴巴Java开发规范---个人总结

    一.编程规约 (一) 命名规约 1. [强制]所有编程相关命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束. 反例: _name / __name / $Object / name_ / ...

  9. JDK中线程组ThreadGroup

    如果线程有100条...分散的不好管理... 线程同样可以分组ThreadGroup类. 线程组表示一个线程的集合.此外,线程组也可以包含其他线程组.线程组构成一棵树,在树中,除了初始线程组外,每个线 ...

  10. Day.js - JavaScript时间处理库

    Day.js简介 在使用JavaScript处理时间方面,使用的时Moment.js,但是它太重了,有200多k,一般项目中可能也只是用了几个api而已,所以,这里推荐一个轻量的时间库 - Day.j ...