哈密顿绕行世界问题

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. 【转】OAuth的改变

    原文地址:http://huoding.com/2011/11/08/126 去年我写过一篇<OAuth那些事儿>,对OAuth做了一些简单扼要的介绍,今天我打算写一些细节,以阐明OAut ...

  2. [leetcode.com]算法题目 - Length of Last Word

    Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...

  3. [leetcode.com]算法题目 - Plus One

    Given a number represented as an array of digits, plus one to the number. class Solution { public: v ...

  4. Python基础 --函数的参数

    定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解 ...

  5. CF1082解题报告

    CF1082A Vasya and Book 模拟一下即可 \(Code\ Below:\) #include <bits/stdc++.h> using namespace std; c ...

  6. 定位 和 z-index

    三.定位 定位有三种:(1) 相对定位.(2) 绝对定位.(3) 固定定位 1.相对定位(相对于自己原来的位置定位) 现象和使用: a.如果对当前元素仅仅设置了相对定位,那么与标准流的盒子没什么区别: ...

  7. .NET Core 常用加密和Hash工具NETCore.Encrypt

    前言 在日常开发过程中,不可避免的涉及到数据加密解密(Hash)操作,所以就有想法开发通用工具,NETCore.Encrypt就诞生了.目前NETCore.Encrypt只支持.NET Core ,工 ...

  8. 对drf的初步认识

    web应用模式 1.前后端不分离 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高. 这种应用模式比较适合纯网 ...

  9. 让PETSc跑得再快一些

    最近做了一个使用PETSc来求解线性方程组(Ax=b)的项目,把其中遇到的一些坑和解决方法记录下来.本文不介绍PETSc如何入门,而是给出一些能让PETSc运行得更快的编程细节.开始我只是简单地修改P ...

  10. odoo开发笔记:前端显示强制换行

    未调整之前:客户信息显示不全 调整后实现效果: 补充CSS知识: 一.强制换行 word-break: break-all; 只对英文起作用,以字母作为换行依据. word-wrap: break-w ...