当前位置: 首页 > news >正文

DFS:842. 排列数字

给定一个整数 nn,将数字 1∼n1∼n 排成一排,将会有很多种排列方法。

现在,请你按照字典序将所有的排列方法输出。

输入格式

共一行,包含一个整数 nn。

输出格式

按字典序输出所有排列方案,每个方案占一行。

数据范围

1≤n≤71≤n≤7

输入样例:
3
输出样例:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
难度:简单
时/空限制:1s / 64MB
总通过数:95837
总尝试数:121097
来源:模板题
算法标签

思路

1.深度优先搜索:只要所有数字使用完成,就输出该种情况

    if(u>n){for(int i=1;i<=n;i++)   printf("%d ",path[i]);printf("\n");return;}

2.path[i]表示一条路径,每一个位置可以放置一个数字

3.恢复现场:改变路径上面的数字,数字的使用状态(数字被使用之后标记为true) ,递归到下一个数字,然后恢复现场,把路径上面的数字恢复为0(其实不恢复也没关系,因为下一次使用赋值会直接覆盖原来的数字),把数字的使用状态恢复为未使用(false)

    for(int i=1;i<=n;i++){if(!state[i]){path[u]=i;state[i]=true;dfs(u+1);path[u]=0;state[i]=false;}}

代码

#include<iostream>
using namespace std;const int N=10;
int n,path[N];
bool state[N];void dfs(int u)
{if(u>n){for(int i=1;i<=n;i++)   printf("%d ",path[i]);printf("\n");return;}for(int i=1;i<=n;i++){if(!state[i]){path[u]=i;state[i]=true;dfs(u+1);path[u]=0;state[i]=false;}}
}int main()
{scanf("%d",&n);dfs(1);return 0;
}

 

 

相关文章:

DFS:842. 排列数字

给定一个整数 nn&#xff0c;将数字 1∼n1∼n 排成一排&#xff0c;将会有很多种排列方法。 现在&#xff0c;请你按照字典序将所有的排列方法输出。 输入格式 共一行&#xff0c;包含一个整数 nn。 输出格式 按字典序输出所有排列方案&#xff0c;每个方案占一行。 数据…...

pytorch之nn.Conv1d详解

自然语言处理中一个句子序列&#xff0c;一维的&#xff0c;所以使用Conv1d...

H5生成二维码

H5生成二维码&#xff1a; 1.引入js库&#xff0c;可自行点击链接复制使用 <script type"text/javascript" src"http://static.runoob.com/assets/qrcode/qrcode.min.js"></script>2.加入二维码占位区HTML <div id"qrCode">…...

Three.js加载360全景图片/视频

Three.js加载360全景图片/视频 效果 原理 将全景图片/视频作为texture引入到three.js场景中将贴图与球形网格模型融合&#xff0c;将球模型当做成环境容器使用处理视频时需要以dom为载体&#xff0c;加载与控制视频动作每次渲染时更新当前texture&#xff0c;以达到视频播放效…...

北大硕士7年嵌入式学习经验分享

阶段 1 大一到大三这个阶段我与大多数学生相同&#xff1a; 学习本专业知识&#xff08;EE专业&#xff09;&#xff0c;学习嵌入式软件开发需要的计算机课程&#xff08;汇编原理&#xff0c;计算机组成原理&#xff0c;操作系统&#xff0c;C语言等&#xff09;&#xff0c…...

华为鸿蒙手表开发之动态生成二维码

华为鸿蒙手表开发之动态生成二维码 前言&#xff1a; 最近入职新公司&#xff0c;由于之前的哥们临时离职&#xff0c;走得很突然&#xff0c;所以没有任何交接和文档&#xff0c;临时顶上公司手表应用的上架&#xff0c;更换了新的密钥和key之后重新测试功能和流程&#xff…...

2023-09-28 monetdb-databae的概念和作用-分析

摘要: 每个数据库对于db,schema以及user,role都有一套自己的设计, 不同数据库间对于相同名字的东西例如database和schema可以说南辕北辙, 例如mysql中schema其实是database的同义词. 本文分析monetdb的database的概念和作用 database的概念和作用: 和mysql的database完全不同…...

2024级199管理类联考之数学基础(上篇)

管理类考试介绍 管理综合200分,时间3小时 数学&#xff1a;75分/25题,是拉开差距的核心模块 问题求解题&#xff1a;15个,5选一条件充分性判断&#xff1a;10个,结合两个条件选择答案 条件一充分,条件二不充分&#xff1a;A条件一不充分,条件二充分&#xff1a;B条件一充分,条…...

RFID技术引领汽车零部件加工新时代

RFID技术的兴起引领了汽车零部件加工领域的新时代&#xff0c;作为一种利用无线电频率进行自动识别的技术&#xff0c;RFID技术能够快速、准确地识别物体并获取相关数据&#xff0c;在汽车零部件加工中&#xff0c;RFID技术具有重要的应用价值&#xff0c;可以提高生产效率、降…...

python中使用matplotlib绘图

一、背景 当我们在写python程序时&#xff0c;不可避免的需要将数据可视化&#xff0c;也就是绘制出数据的曲线图&#xff0c;以便我们更直观的观察数据间的变化&#xff0c;和方便对比。此时就要用到matplotlib库了。 matplotlib官方给出的定义是&#xff1a; 翻译过来也就是…...

Qt Creator 使用技巧

使用技巧 功能快捷键解释Switch Header/SourceF4在同名的头文件和源程序文件之间切换Follow Symbol Under CursorF2变量:跳转到声明;函数:声明和定义切换Refactor Rename Symbol Under CursorCtrlShiftR改名称&#xff0c;将替换所有用到这个符号的地方RefactorAdd Definition…...

来看看双阶段目标检测算法趴

&#x1f680; 作者 &#xff1a;“码上有钱” &#x1f680; 文章简介 &#xff1a;AI-目标检测算法 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac;简介 双阶段目标检测算法是一类深度学习算法&#xff0c;通常分为两个阶段来检测和识别图像中的…...

python利用matplotlib绘图,对于中文和负号不显示,显示方框“口口”完美解决办法!!

文章目录 一、问题展示二、问题分析三、解决办法四、结果展示 一、问题展示 二、问题分析 可以发现对中文&#xff0c;以及负号不显示。 三、解决办法 import matplotlib.pyplot as pltplt.rcParams[font.sans-serif] [usimHei] # 显示中文 plt.rcParams[axes.unicode_mi…...

【数组及指针经典笔试题解析】

1.数组和指针笔试题 题目1 int main(){int a[5] { 1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5};int * ptr (int * )(&a 1);printf("%d&#xff0c;%d"&#xff0c;*(a 1)&#xff0c;*(ptr - 1));return 0;}图文解析&#xff1a; int * ptr …...

Transformer学习-self-attention

这里写自定义目录标题 Self-attentionMulti-head self-attention用self-attention解决其他问题 Self-attention 用Wq、Wk、Wv分别乘输入向量得到q、k、v向量 用每个q向量乘所有的k向量得到对应项的attention&#xff0c;即用每项的query向量去匹配所有的key向量&#xff0c;得…...

Spring Boot:利用JPA进行数据库的增改

目录 JPA介绍Service接口Service和Autowired示例代码 Dao数据库操作层Repository示例代码 控制器文件示例代码-增加增加成功示例代码-修改修改成功 JPA介绍 JPA&#xff08;Javaa Persistence API)一种用于持久化 Java 对象到关系型数据库的标准规范。它提供了一种统一的方式来…...

列表的增删改查和遍历

任务概念 什么是任务 任务是一个参数为指针&#xff0c;无法返回的函数&#xff0c;函数体为死循环不能返回任务的实现过程 每个任务是独立的&#xff0c;需要为任务分别分配栈称为任务栈&#xff0c;通常是预定义的全局数组&#xff0c;也可以是动态分配的一段内存空间&#…...

获取网卡上的IP、网关及DNS信息,获取最佳路由,遍历路由表中的条目(附源码)

VC常用功能开发汇总&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&#xff09;https://blog.csdn.net/chenlycly/article/details/124272585C软件异常排查从入门到精通系列教程&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&a…...

保姆级 -- Zookeeper超详解

1. Zookeeper 是什么(了解) Zookeeper 是一个 分布式协调服务 的开源框架, 主要用来解决分布式集群中应用系统的一致性问题, 例如怎样避免同时操作同一数据造成脏读的问题. ZooKeeper 本质上是 一个分布式的小文件存储系统 . 提供基于类似于文件系统的目录树方式的数据存储, …...

【通意千问】大模型GitHub开源工程学习笔记(2)--使用Qwen进行推理的示例代码解析,及transformers的库使用

使用Transformers来使用模型 如希望使用Qwen-chat进行推理,所需要写的只是如下所示的数行代码。请确保你使用的是最新代码,并指定正确的模型名称和路径,如Qwen/Qwen-7B-Chat和Qwen/Qwen-14B-Chat 这里给出了一段代码 from transformers import AutoModelForCausalLM, Aut…...

【最新版】heic格式转换器下载教程 livp格式转jpg超详细图文转换教程

文章目录准备工作安卓手机拍摄的heic格式转jpg教程苹果heic格式转jpg专用工具livp格式转jpg教程heic格式文件无法打开的原因及解决方法heic转换jpg后文件变大是什么原因本文将详细教你实现heic格式转jpg与livp格式转jpg的操作方法&#xff0c;同时免费提供实用的heic格式转换器…...

杂交瘤技术:单克隆抗体制备的经典核心技术

杂交瘤技术&#xff08;Hybridoma Technology&#xff09;是通过人工细胞融合技术&#xff0c;将经抗原免疫的 B 淋巴细胞与骨髓瘤细胞融合&#xff0c;构建可无限增殖且分泌高纯度、高特异性单克隆抗体的杂交瘤细胞系的核心技术。该技术由 Georges Kohler 与 Cesar Milstein 于…...

边缘部署模式:在边缘位置部署应用

边缘部署模式&#xff1a;在边缘位置部署应用 一、边缘部署概述 1.1 边缘部署的定义 边缘部署是指将应用或服务部署在靠近用户或数据源的边缘位置&#xff0c;以减少延迟、提高性能、降低带宽消耗并增强数据隐私保护。 1.2 边缘部署的价值 低延迟&#xff1a;减少数据传输延迟高…...

运营商网络工程师视角:VoWiFi部署中的ePDG与AAA服务器配置要点及避坑指南

运营商网络工程师实战&#xff1a;VoWiFi部署中ePDG与AAA服务器配置的20个关键细节 当运营商开始规划VoWiFi网络时&#xff0c;会议室的白板上总是画满了各种接口和协议栈。但真正决定项目成败的&#xff0c;往往是那些容易被忽略的配置细节——比如IKEv2协商时DH组的选择会怎样…...

Apache Weex内存泄漏终极解决方案:7个技巧让应用性能飙升

Apache Weex内存泄漏终极解决方案&#xff1a;7个技巧让应用性能飙升 【免费下载链接】incubator-weex Apache Weex (Incubating) 项目地址: https://gitcode.com/gh_mirrors/in/incubator-weex Apache Weex作为一款高性能的跨平台移动开发框架&#xff0c;在带来便捷开…...

MSP 盈利、留客、提口碑,核心就盯这12个 KPI

很多 MSP&#xff08;托管服务提供商&#xff09;都会陷入一个误区&#xff0c;手里握着一堆散落在各个看板的运营数据&#xff0c;却始终搞不清哪些指标能真正帮自己提升服务质量、拉高利润、留住客户。忙忙碌碌做了一堆报表&#xff0c;最终还是凭感觉做决策&#xff0c;业务…...

EDA工具选型实战:从价格到价值的深度迁移指南

1. 从价格战到价值战&#xff1a;一次EDA工具市场策略的深度复盘十年前&#xff0c;当Altium宣布将其旗舰PCB设计软件Altium Designer的价格下调约75%时&#xff0c;整个电子设计自动化&#xff08;EDA&#xff09;圈子都炸开了锅。这无异于在由Cadence、Mentor Graphics&#…...

告别手动传包!用Pypiserver在内网搭建Python私有源,团队协作效率翻倍

告别手动传包&#xff01;用Pypiserver在内网搭建Python私有源&#xff0c;团队协作效率翻倍 在团队开发中&#xff0c;Python依赖管理常常成为效率瓶颈。想象这样的场景&#xff1a;新同事加入项目&#xff0c;需要配置开发环境&#xff0c;却因为内网限制无法直接访问PyPI&a…...

PheroPath:自定义代谢通路构建与可视化工具在组学数据分析中的应用

1. 项目概述与核心价值最近在生物信息学和计算生物学领域&#xff0c;一个名为“PheroPath”的项目引起了我的注意。这个项目由用户starpig1129托管&#xff0c;从名字上就能嗅到一丝“信息素”和“路径”结合的味道。作为一名长期在组学数据分析、特别是代谢通路研究一线摸爬滚…...

毕业设计:基于SpringBoot+Vue大学生租房平台 (源码)

目录 一、项目背景 二、技术介绍 三、功能介绍 四、代码设计 五、系统实现 一、项目背景 近年来&#xff0c;随着我国高等教育事业的持续发展&#xff0c;在校大学生及刚步入社会的毕业生数量逐年攀升。据统计&#xff0c;2024年全国高校毕业生规模已突破1100万人&#x…...