DFS HDOJ 2181 哈密顿绕行世界问题
题意:中文题面
分析:直接排完序后DFS.这样的题以后不应该再写题解的.
- #include <bits/stdc++.h>
- using namespace std;
- vector<int> G[21];
- int ans[21];
- int v[3];
- bool vis[21];
- int cnt;
- void print() {
- printf ("%d: ", ++cnt);
- for (int i=0; i<20; ++i) {
- printf ("%d ", ans[i]);
- }
- printf ("%d\n", ans[20]);
- }
- void DFS(int u, int x, int step) {
- for (int i=0; i<G[u].size (); ++i) {
- int v = G[u][i];
- if (v == x) {
- if (step < 20) continue;
- ans[step] = x;
- print (); return ;
- }
- else if (vis[v]) continue;
- vis[v] = true;
- ans[step] = v;
- DFS (v, x, step + 1);
- vis[v] = false;
- }
- }
- int main(void) {
- for (int i=1; i<=20; ++i) {
- for (int j=0; j<3; ++j) {
- scanf ("%d", &v[j]);
- G[i].push_back (v[j]);
- //G[v[j]].push_back (i);
- }
- }
- for (int i=1; i<=20; ++i) {
- sort (G[i].begin (), G[i].end ());
- }
- int m;
- while (scanf ("%d", &m) == 1) {
- if (!m) break;
- cnt = 0;
- memset (vis, false, sizeof (vis));
- vis[m] = true;
- ans[0] = m;
- DFS (m, m, 1);
- }
- return 0;
- }
DFS HDOJ 2181 哈密顿绕行世界问题的更多相关文章
- HDOJ 2181 哈密顿绕行世界问题
哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- HDU 2181 哈密顿绕行世界问题(经典DFS+回溯)
哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- HDU 2181 哈密顿绕行世界问题 (DFS)
哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- HDU - 2181 哈密顿绕行世界问题 dfs图的遍历
哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- HDU 2181 哈密顿绕行世界问题 dfs 难度:1
http://acm.hdu.edu.cn/showproblem.php?pid=2181 只有20个城市,而且每个点的度数恰好是3,也就意味着,对于即将进入环中的点,入度1,出度2,下一个点只有两 ...
- hdu 2181 哈密顿绕行世界问题【DFS】
题目链接 题目大意: Problem Description 一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市. Input ...
- HDU 2181 哈密顿绕行世界问题(DFS)
Problem Description 一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市. Input 前20行的第i行有3个数, ...
- HDU 2181 哈密顿绕行世界问题 (DFS)
题目链接:https://vjudge.net/contest/185350#problem/C 题目大意:一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城 ...
- (step4.3.8)hdu 2181(哈密顿绕行世界问题——DFS)
题目大意:通俗点讲就是,输出所有从m城市出发,便利所有城市之后又能回到m城市的序列...... 解题思路:DFS 1)用map[][]来存储城市之间的连通情况.用used[]存储某个城市的使用情况(即 ...
随机推荐
- acdream.Bet(数学推导)
Bet Time Limit:1000MS Memory Limit:64000KB 64bit IO Format:%lld & %llu Submit Status Pra ...
- Who Gets the Most Candies?(线段树 + 反素数 )
Who Gets the Most Candies? Time Limit:5000MS Memory Limit:131072KB 64bit IO Format:%I64d &am ...
- smb
smb编辑 SMB(Server Message Block)是协议名,它能被用于Wap连接和客户端与服务器之间的信息沟通.
- (8)UI(控件)
1.按钮: 按钮是游戏中最常用的控件类型之一,控制用户点击事件的开关,有正常.按下.禁用三种状态,您可以为他们设置样式及文本. 使用场景 按钮的使用十分普遍,以官方示例中的主场景示例为例, ...
- hiho一下 第九十七周 数论六·模线性方程组
题目1 : 数论六·模线性方程组 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho:今天我听到一个挺有意思的故事! 小Hi:什么故事啊? 小Ho:说秦末,刘邦的将军 ...
- [ruby on rails] 跟我学之(1)环境搭建
环境: ubuntu 12.04 (64bit) 代理: 自己最好弄一个代理. 环境配置指令如下: sudo apt-get update sudo apt-get install curl \cur ...
- python 下载文件 & 防盗链
偶然下载一种类型的资源,发现好多翻页,右键另存什么的,不胜其烦. 决定用python写几句代码搞定.核心代码如下: from urllib import urlretrieve from urllib ...
- 每天一个脚本解析day1==》《service xxxxx status》之service脚本解析
vim /sbin/service #!/bin/sh . /etc/init.d/functions #读取环境变量. VERSION="$(basename $0) ver. 0. ...
- 一些Linux的路径
系统引导时启动 /etc/rc.d/rc.local
- Longest Consecutive Sequence
Given an unsorted array of integers, find the length of the longest consecutive elements sequence. C ...