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

DexProtector内存态匿名段检测绕过与dex重组技术 Dex文件是Android应用的核心执行单元,其结构规范(如header_item、class_def_item、code_item)决定了运行时加载与解析的底层逻辑。DexProtector通过将dex数据拆解为多个无文件名、受保护的内存匿名段(如[anon:dp_header]、[anon:dp_code]),规避传统基于文件特征或标准加载路径的检测机制。该策略依赖Android mmap内存管理与ART虚拟机对dex结构的刚性要求,形成可被观测的布局规律。理解其内存态组织原理,结合权限/大小/命名/内 阅读详情

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2181


哈密顿绕行世界问题

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


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
 

Author
Zhousc
 

Source




题解:

有20个点,每个点与3个点连接。如果使用回溯的话,操作次数是:2^20  约等于1e6(实际上要小),所以可以直接dfs回溯。

写法一:由于要回到初始点,所以要走21个点,且vis过的点还要进去试试:是不是最后一个点且为初始点。;

写法二:vis过的点不再访问,当走到第20点时,如果第20个点与起始点相连,那么就能回到起始点。



写法一:

#include <iostream>  
#include <cstdio>  
#include <cstring>  
#include <cmath>  
#include <algorithm>  
#include <vector>  
#include <queue>  
#include <stack>  
#include <map>  
#include <string>  
#include <set>  
#define ms(a,b) memset((a),(b),sizeof((a)))  
using namespace std;  
typedef long long LL;  
const int INF = 2e9;  
const LL LNF = 9e18;  
const int MOD = 1e9+7;  
const int MAXN = 20+10;  
  
int g[MAXN][3];  
int vis[MAXN], path[MAXN], cnt, m;  
  
void dfs(int u, int k)  
{  
    if(k==20+1)  //到了最后一个点
    {  
        if(u==m)  //回到了出发点
        {  
            printf("%d:  ", ++cnt);  
            for(int i = 1; i<=20; i++)  
                printf("%d ", path[i]);  
            printf("%d\n", m);  
        }  
        return;  
    }  
    if(vis[u]) return;      //没有到达最后一个点,并且vis过的,都要退出
  
    vis[u] = 1;  
    path[k] = u;  
    for(int i = 0; i<3; i++)   //因为要回到出发点,所以vis过的也要再试一试:是不是最后一个点且是出发点
        dfs(g[u][i], k+1);  
    vis[u] = 0;  
}  
  
int main()  
{  
    for(int i = 1; i<=20; i++)  
    {  
        for(int j = 0; j<3; j++)  
            scanf("%d",&g[i][j]);  
        sort(g[i], g[i]+3);     //保证按字典序输出
    }  
  
    while(scanf("%d",&m) && m)  
    {  
        ms(vis, 0);  
        cnt = 0;  
        dfs(m, 1);  
    }  
}  



写法二:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <string>
#include <set>
#define ms(a,b) memset((a),(b),sizeof((a)))
using namespace std;
typedef long long LL;
const int INF = 2e9;
const LL LNF = 9e18;
const int MOD = 1e9+7;
const int MAXN = 20+10;

int g[MAXN][3];
int vis[MAXN], path[MAXN], cnt, m;

void dfs(int u, int k)
{
    path[k] = u;    //记录路径
    if(k==20)  //到了倒数第二个点
    {
        for(int i = 0; i<3; i++)    //如果与初始点相连,那么就可以回到初始点
        if(g[u][i]==m)
        {
            printf("%d:  ", ++cnt);
            for(int i = 1; i<=20; i++)
                printf("%d ", path[i]);
            printf("%d\n", m);
        }
        return;
    }

    vis[u] = 1;
    for(int i = 0; i<3; i++)
        if(!vis[g[u][i]])
            dfs(g[u][i], k+1);
    vis[u] = 0;
}

int main()
{
    for(int i = 1; i<=20; i++)
    {
        for(int j = 0; j<3; j++)
            scanf("%d",&g[i][j]);
        sort(g[i], g[i]+3);     //保证按字典序输出
    }

    while(scanf("%d",&m) && m)
    {
        ms(vis, 0);
        cnt = 0;
        dfs(m, 1);
    }
}



解锁SPWM电压利用率:三次谐波注入幅值的黄金分割点 本文深入探讨了SPWM电压利用率的提升方法,重点介绍了三次谐波注入技术及其黄金分割点(1/6比例)。通过数学推导和工程实践,揭示了如何通过特定幅值的三次谐波注入将电压利用率从86.6%提升至115%,与SVPWM相当。文章还提供了实验室调试流程和DSP实现代码,帮助工程师优化逆变器设计。 阅读详情

相关推荐

Skyworks SKY85331-11的Wi-Fi 6 (802.11ax)标准 2.4G 高功率WLAN前端模块解决方案

SKY85331-11是高度集成的2 GHz前端模块(FEM)包含2 GHz单刀双掷(SPDT)发送/接收(T / R)开关,2 GHz低噪声放大器(LNA)带旁路和一个2 GHz功率放大器(PA),用于大功率802.11ax应用程序和系统LNA和PA禁用功能可确保低漏电流 关闭模式。 包括一个集成的功率检测器以提供系统内的闭环功率控制。该设备提供Small (24-pin, 3 x 5 mm) (LGA)封装。 图1.引脚配置和封装如图所示 图2.信号引脚分配和功能引脚描述 图...

zhangbao19890622的博客 4507

哈密顿绕行世界问题(HDU - 2181)

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

Spidy_harker的博客 384

用Typora画流程图和序列图:Mermaid语法实战教程(含常见报错解决)

本文是一份详细的Typora与Mermaid语法实战教程,教你如何在Markdown文档中高效绘制流程图和序列图。文章涵盖从环境配置、核心语法到复杂图表构建的全过程,并重点解析了常见报错原因与解决方案,助你将可视化图表无缝融入文档工作流。

weixin_29279101的博客 300

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

https://vjudge.net/problem/HDU-2181 最近写Bfs写的有点多, 猛一下拿到这题就用BFS来写了, 写到后面发现越写越麻烦. 其实就是一道简单的Dfs题目, Dfs的图储存方式通常有两种: 邻接矩阵(bool数组表示通路), 邻接表(用vector来表示该节点相邻接结点) 这道题目比较简单, n也不大, 我直接就用了邻接矩阵来表示 代码如下 //哈密...

Suprit's blog 870

系统-等保三级-CentOS Linux 7合规基线检查 shell脚本

系统-等保三级-CentOS Linux 7合规基线检查 shell脚本

swindy博客 2409

Netapp FAS2750更换磁盘后不同步问题处理

netapp fas2750磁盘更换后不同步问题处理

jetliu05的博客 1256

3.24总结

【代码】3.24总结。

2301_80882402的博客 342

使用Simulink对固定翼无人机的自动起飞与降落进行仿真

本文介绍了基于Simulink的固定翼无人机自动起飞与降落控制系统设计方法。系统包含飞行器动力学模型、控制系统、环境模拟等模块,通过简化动力学方程描述无人机运动特性。详细说明了从创建模型、设置动力学方程、设计PID控制器(包括自动起飞和降落控制策略)到添加环境模拟的完整仿真流程。重点阐述了升降舵和发动机推力的控制律设计,以及性能评估要点。本方法可有效验证控制系统设计,优化飞行稳定性和安全性参数,为无人机自主控制提供仿真支持。

amy_mhd的博客 223

哈密顿绕行世界问题

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

海绵的博客 731

超临界二氧化碳发电技术深度解析

超临界二氧化碳发电技术正在突破传统热电转换的物理边界。作为新一代发

硬核科技 602

YOLOv8-pose姿态估计模型从训练到RK3588部署:让边缘端骨骼识别速度突破60FPS

本教程从“模型训练-转换-边缘部署”全链路拆解了YOLOv8-pose姿态估计方案在RK3588上的落地过程,每一步都经过实战验证。无论是智能健身的动作实时纠正,还是工业设备的关键部件姿态检测,这套流程都能让你以最低成本实现高精度、高实时性的姿态估计应用。如果你在实践中遇到模型转换报错、部署性能不达标等问题,可聚焦某一环节深入优化——毕竟,让AI在边缘端“精准捕捉每一个关键点”,才是技术驱动场景创新的核心。

know_F0727的博客 192

哈密顿绕行世界问题 (深搜(记录路径))

题目来源:https://vjudge.net/problem/HDU-2181 【题意】 汉语意思不再解释。 【思路】 深搜+记录路径。 这里叙述一下深搜与广搜记录路径的不同之处。(个人观点) 深搜来说,记录路径只需要一个普通数组,因为深搜可以返回。 广搜的话,需要在结构体里开数组,因为广搜的每一步都会产生一个新的组合。 【代码】#include<map> #include<sta

Crazy 829

【专栏目录】

🌟 深度学习工程师的终极武器库!本专栏深度解析近3年CV领域最前沿的YoloV8改进方案,每一种方法都经过实战验证,性能显著提升!🌟。

m0_47867638的博客 1万+

[dfs]hdu2181 哈密顿绕行世界问题

C - 哈密顿绕行世界问题 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u SubmitStatus Description 一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市。 Input 前20行的第i行有3个数,

童凌的技术博客 597

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

HDU 2181 哈密顿绕行世界问题

HDU 2181 哈密顿绕行世界问题 TimeLimit:3000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others) ProblemDescription - 题目描述   一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城市刚...

123

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

HDU 2181 哈密顿绕行世界问题(DFS 深度优先搜素)

哈密顿绕行世界问题 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description 一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市。    Input 前

小夏 的博客 457

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

HDU-2181 哈密顿绕行世界问题(dfs)

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

一只在校程序猿的技术贴 323

hdu 2181哈密顿绕行世界问题 dfs

传送门:hdu 2181 中文题就不多说了,唯一值得注意的一点是dfs到最后cnt==20的时候要先判断最后一个城市和第一个城市连不连通再输出。#include #include #include int map[22][22]; int book[22]; int line[22]; int t=0,m; using namespace std; int dfs(int cnt) {

WA是一笔财富 434

哈密顿绕行世界问题 HDU - 2181(dfs)

哈密顿绕行世界问题  HDU - 2181 一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市。  Input 前20行的第i行有3个数,表示与第i个城市相邻的3个城市.第20行以后每行有1个数m,m&lt;=20,m&gt;=1.m=0退出.  Output 输出从第m个城市出发经过每个城市1次又回到m的所有路线,如...

Learning_is_endless的博客 271

HDU 2181哈密顿绕行世界问题【dfs】

哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7364    Accepted Submission(s): 4368   Problem Description 一个规则的实心十二面体,它的 20个顶点标出世...

Emiya丶的博客 259

hdu 2181 哈密顿绕行世界问题(dfs)

http://acm.hdu.edu.cn/showproblem.php?pid=2181 哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2483    Accepted Submission(s): 1

大太阳 444

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

哈密顿绕行世界问题             Time Limit: 3000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)                    Total Submission(s): 698Accepted Submission(s): 423 Problem D...

MengDeMao1234的博客 173

HDU2181 哈密顿绕行世界问题 DFS

HDU2181 哈密顿绕行世界问题 DFS

htrdchh的博客 261

HDU 2181哈密顿绕行世界问题(还是DFS)

哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2670    Accepted Submission(s): 1673 Problem Description 一个规则的实心十二面体,它的 2

AC_Dreameng 1234

HDU2181 哈密顿绕行世界问题【DFS+暴力】

题目链接:哈密顿绕行世界问题 分析:暴力dfs向后延伸20位,注意判断第20位是否能回到起点; #include<bits/stdc++.h> #define pb push_back using namespace std; typedef long long ll; const int maxn=1e5+7; const int mod=1e9+7; const ll INF=...

MaJorieL 180

HDU - 2181 哈密顿绕行世界问题【dfs】

哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 8150 Accepted Submission(s): 4784 Problem Description 一个规则的实心十二面体,它的 20个顶点标出世界著名的2...

qq_43966202的博客 215
上一篇: UVA11624 Fire! —— BFS
下一篇: POJ1077 Eight —— 经典的搜索问题
DOLFAMINGO
博客等级 码龄10年 8粉丝 216原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值