94. 递归实现排列型枚举
题目:
94. 递归实现排列型枚举 - AcWing题库
思路:
1.全排列问题(坑位问题)---->递归搜索树---->用dfs深度优先搜索。
2. u表示当前坑位,state[u]表示坑位u存储的数据。因为不同坑位的数据不可以重复,故引入used[i]用于判断数据i是否使用过。
3.注意恢复现场。
代码:
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
const int N = 10;
int state[N];//0表示还没有放数,1~n表示放了哪个数
using namespace std;
bool used[N];//true表示用过,false表示没有
int n;
void dfs(int u)
{if (u > n)//越界{for (int i = 1; i <= n; i++)printf("%d ", state[i]);puts("");//换行return;}//依次枚举每一个分支,即当前位置可以填哪些数for (int i = 1; i <= n; i++) if (!used[i]) {state[u] = i;used[i] = true;dfs(u+1);//恢复现场state[u] = 0;used[i] = false;}
}
int main()
{scanf("%d", &n);dfs(1);return 0;
}
相关文章:
94. 递归实现排列型枚举
题目: 94. 递归实现排列型枚举 - AcWing题库 思路: 1.全排列问题(坑位问题)---->递归搜索树---->用dfs深度优先搜索。 2. u表示当前坑位,state[u]表示坑位u存储的数据。因为不同坑位的数据不可以重复&#…...
白水三佳电脑ERP部署
安装宝塔面板,有这个方便很多,可以省下3天的环境部署时间。 移动端, 先取移动版的压缩包,上传至服务器/www/wwwroot/目录下面,直接解压到当前目录后会生成/www/wwwroot/m/的目录,移动版就在这里面了。以下…...
电流监测芯片SGM8199A2应用电路设计
SGM8199是一系列具有电压输出功能的双向电流监测芯片,用于监测共模电压范围内分流电阻上的压降,而不受电源电压的影响。该器件具有-0.1V至26V的宽共模电压范围输入。低偏移使得在监测电流时允许分流器上的满量程最大压降为10mV。SGM8199系列提供三种固定…...
第十五章 I/O输入输出
15,1输入输出流 流是一组有序的数据序列,根据操作的类型,可分为输入流和输出流两种。I/O(Input/Output,(输出)流提供了一条通道程序,可以使用这条通道把源中的字节序列送到目的地。虽然 I/O 流疆盘文件存取有关,但是程序的源和目的…...
进程(0)——计算机的中的软硬件【Linux】
进程(0)——计算机的中的软硬件【Linux】 一.硬件:1.1 冯诺依曼结构:1.2 存储金字塔1.2.1输入设备和存储器:1.2.2输出设备和存储器: 二.软件:2.1 操作系统2.1.1 如何理解管理: 博主自…...
Python中if not使用教程
大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码 python中判断变量是否为None三种写法: 1、if x is None 2、if not x 3、if not x is None 理解成 if not (x is None) 结果是和1相反的 python中None、fals…...
Jmeter性能测试 —— jmeter之使用ServerAgent监控服务器
ServerAgent 性能测试时我们关注的重要指标是:并发用户数,TPS,请求成功率,响应时间,服务器的CPU,memory, I/O disk等。Jmeter的聚合报告可以查看并发数、吞吐量、请求成功率、响应时间等&#…...
C# Winform编程(7)文件处理技术
文件处理技术 System.IO命名空间System.IO命名空间常用的类System.IO命名空间常用的枚举 File类的常用方法File类的常用静态方法FileInfo类的常用方法File类和FileInfo类的区别文件夹类Directory的常用方法文件流类FileStream文件的读写读写二进制流读写内存流 System.IO命名空…...
前端工作方式要换了?HTMX简介:无需JavaScript的动态HTML
HTMX允许你使用扩展的HTML语法代替 JavaScript 来实现交互性。HTMX 在标记中直接为你提供HTTP 交互,并支持许多其他交互需求,无需求助于 JavaScript。这是一个有趣的想法,可能最终会影响到web前端的工作方式。让我们看看如何使用HTMX以及它的…...
动手学深度学习—使用块的网络VGG(代码详解)
目录 1. VGG块2. VGG网络3. 训练模型 1. VGG块 经典卷积神经网络的基本组成部分是下面的这个序列: 1.带填充以保持分辨率的卷积层; 2.非线性激活函数,如ReLU; 3.汇聚层,如最大汇聚层。 定义网络块,便于我…...
性能优化:JIT即时编译与AOT提前编译
优质博文:IT-BLOG-CN 一、简介 JIT与AOT的区别: 两种不同的编译方式,主要区别在于是否处于运行时进行编译。 JIT:Just-in-time动态(即时)编译,边运行边编译:在程序运行时,根据算法计算出热点代码…...
抖音同城榜:探索城市新潮流
随着科技的飞速发展,短视频已经成为了人们日常生活中不可或缺的一部分。作为短视频领域的佼佼者,抖音一直致力于为用户带来更丰富、更有趣的短视频内容。抖音同城榜应运而生,成为了最新、最热门的话题聚集地,吸引了大量潮流达人和…...
云表|低代码开发崛起:重新定义企业级应用开发
低代码开发这个概念在近年来越来越受到人们的关注,市场对于低代码的需求也日益增长。据Gartner预测,到2025年,75%的大型企业将使用至少四种低代码/无代码开发工具,用于IT应用开发和公民开发计划。 那么,为什…...
【算法题】2906. 构造乘积矩阵
题目: 给你一个下标从 0 开始、大小为 n * m 的二维整数矩阵 grid ,定义一个下标从 0 开始、大小为 n * m 的的二维矩阵 p。如果满足以下条件,则称 p 为 grid 的 乘积矩阵 : 对于每个元素 p[i][j] ,它的值等于除了 g…...
机器学习基础之《回归与聚类算法(4)—逻辑回归与二分类(分类算法)》
一、什么是逻辑回归 1、逻辑回归(Logistic Regression)是机器学习中的一种分类模型,逻辑回归是一种分类算法,虽然名字中带有回归,但是它与回归之间有一定的联系。由于算法的简单和高效,在实际中应用非常广…...
UWB安全数据通讯STS-加密、身份认证
DW3000系列才能支持UWB安全数据通讯,DW1000不支持 IEEE 802.15.4a没有数据通讯安全保护机制,IEEE 802.15.4z中指定的扩展得到增强(在PHY/RF级别):增添了一个重要特性“扰频时间戳序列(STS)”&a…...
vue3中去除eslint严格模式
vue3中去除eslint严格模式 1、全局搜索:extends 2、一般在package.json或者vue.config.js中,直接删除掉vue/standard,重启项目。(在package.json文件中,编译不允许有注释,所以直接删掉)...
Win10如何彻底关闭wsappx进程?
Win10如何彻底关闭wsappx进程?在Win10电脑中,用户看到了wsappx进程占用了大量的系统资源,所以想结束wsappx进程,提升电脑的运行速度。但是,用户们不知道彻底关闭掉wsappx进程的方法,那么接下来小编就给大家…...
docker 安装 sftpgo
sftpgo 简介 sftpgo 是一个功能齐全且高度可配置的 SFTP 服务器,具有可选的 HTTP/S、FTP/S 和 WebDAV 支持。支持多种存储后端:本地文件系统、加密本地文件系统、S3(兼容)对象存储、Google 云存储、Azure Blob 存储、SFTP。 官…...
threejs (一) 创建一个场景
引入 npm install three import * as THREE from three;const scene new THREE.Scene();或者使用bootCDN复制对应的版本连接 <script src"https://cdn.bootcdn.net/ajax/libs/three.js/0.156.1/three.js"></script>基础知识 场景、相机、渲染器 通过…...
Linux内核开发避坑指南:waitqueue的四种状态(TASK_INTERRUPTIBLE/UNINTERRUPTIBLE等)到底该怎么选?
Linux内核开发实战:waitqueue状态选择的黄金法则与避坑指南 在Linux内核开发中,waitqueue(等待队列)是驱动开发者最常使用的同步机制之一。当我们需要让进程等待某个硬件事件(如数据就绪)或资源可用时&…...
ESB企业服务总线怎么选?2026国产ESB厂商盘点:能力与差异分析
在数字化转型深水区的2026年,“ESB(企业服务总线)是否已经过时”的争议从未停止。不少声音认为,iPaaS、云原生集成工具已完全替代ESB,但IDC最新报告显示,国内企业集成平台市场仍保持18%年增速,其…...
别再只用to_string()了!盘点Pandas中DataFrame与字符串互转的5种方法及适用场景
Pandas数据序列化全指南:5种DataFrame与字符串互转方法深度解析 在数据分析的日常工作中,我们经常需要在DataFrame和字符串格式之间进行转换——无论是为了临时存储、跨系统传输,还是向非技术同事展示数据。虽然df.to_string()是最为人熟知的…...
ROS Melodic下,如何用MetaMemoryT修改版Robotiq包快速搞定Gazebo仿真(含UR5整合)
ROS Melodic下使用MetaMemoryT版Robotiq包实现UR5与夹爪的Gazebo高效仿真 在机器人仿真领域,UR5机械臂与Robotiq夹爪的组合堪称经典配置。然而许多开发者在ROS Melodic环境下进行Gazebo仿真时,常常陷入繁琐的URDF/XACRO文件修改泥潭。本文将介绍一种更优…...
天价罚单!苹果或被罚 380 亿美元。网友神评:印度赚钱印度花,一分别想带回家
①4 月 21 日,苹果被曝出可能面临高达 380 亿美元的反垄断罚款,这笔巨额处罚并非空穴来风,而是来自印度监管机构的重拳出击。早在 2021 年,印度企业就联合举报苹果,指责其在 App Store 强制要求开发者使用苹果内购支付…...
终极指南:30秒在iOS 14.0-16.6.1上安装TrollStore的完整教程
终极指南:30秒在iOS 14.0-16.6.1上安装TrollStore的完整教程 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX TrollInstallerX是一款专为iOS 14.0至16.6.1设备…...
C# + OpenCvSharp实战:用轮廓匹配搞定工业零件缺陷检测(附完整项目源码)
C# OpenCvSharp实战:工业零件缺陷检测的轮廓匹配技术解析 在工业自动化领域,视觉检测系统正逐渐取代传统人工质检,成为生产线上的"火眼金睛"。想象一下这样的场景:传送带上的金属零件以每分钟上百个的速度通过摄像头&a…...
宏基因组病毒序列识别六剑客:geNomad, DeepVirFinder, VirSorter2, VIBRANT, PPR-Meta, viralVerify 实战部署与结果整合
1. 宏基因组病毒序列识别工具概述 在宏基因组研究中,病毒序列的识别一直是个技术难点。传统的BLAST比对方法虽然直观,但面对海量数据时效率低下,且容易遗漏新型病毒。近年来,随着机器学习技术的普及,一批专门针对病毒序…...
LotusDB错误处理完全指南:构建健壮的应用程序
LotusDB错误处理完全指南:构建健壮的应用程序 【免费下载链接】lotusdb Most advanced key-value database written in Go, extremely fast, compatible with LSM tree and B tree. 项目地址: https://gitcode.com/gh_mirrors/lo/lotusdb LotusDB是一款用Go编…...
番茄小说离线阅读神器:fanqienovel-downloader让你的数字图书馆永不消失
番茄小说离线阅读神器:fanqienovel-downloader让你的数字图书馆永不消失 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 你是否曾经遇到过这样的情况?深夜追更的小说…...
