递归实现组合型枚举
递归实现组合型枚举

#include<iostream>
#include<vector>int n, m;
std::vector<int>res;
bool st[30];void Print()
{for(int i=0;i<res.size();i++){printf("%d ",res[i]);}puts("");
}void dfs(int num)
{if (res.size() == m){Print();return;}for (int i = num; i <= n; i++){if (!st[i]){st[i] = true;res.push_back(i);if (res.size() == 1 && res[0] > (n-m+1)){res.pop_back();st[i] = false;continue;}dfs(i + 1);st[i] = false;res.pop_back();}}
}int main(void)
{scanf("%d %d", &n, &m);dfs(1);return 0;
}
解法二
#include<iostream>
#include<vector>int n, m;
std::vector<int>res;
bool st[30];void dfs(int start)
{if(res.size()==m){for(int i=0;i<res.size();i++){printf("%d ",res[i]);}puts("");return;}for(int i=start;i<=n;i++){res.push_back(i);dfs(i+1);res.pop_back();}
}int main(void)
{scanf("%d %d", &n, &m);dfs(1);return 0;
}
相关文章:
递归实现组合型枚举
递归实现组合型枚举 #include<iostream> #include<vector>int n, m; std::vector<int>res; bool st[30];void Print() {for(int i0;i<res.size();i){printf("%d ",res[i]);}puts(""); }void dfs(int num) {if (res.size() m){Print(…...
SCAU:1065 数组中的指针
1065 数组中的指针 时间限制:1000MS 代码长度限制:10KB 提交次数:3436 通过次数:1692 题型: 编程题 语言: G;GCC Description 设有如下数组定义: int a[3][4]{{1,3,5,7},{9,11,13,15},{17,19,21,23}}; 计算下面各项的值(设数组a的首地址为2000&…...
找不到msvcp110.dll如何修复?分享5个亲测有效的修复方法
在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“msvcp110.dll丢失”。这个错误通常发生在运行某些程序时,系统无法找到所需的动态链接库文件。那么,msvcp110.dll到底是什么呢?它又有什么作用࿱…...
LeetCode刷题笔记第80题:删除有序数组中的重复项 II
LeetCode刷题笔记第80题:删除有序数组中的重复项 II 题目: 删除升序数组中超过两次的元素后的数组长度 想法: 使用快慢指针的方法完成,使用快指针遍历整个数组,使用慢指针完成相同元素最多保留两个。在快指针遍历到…...
【开源存储】minio对象存储部署实践
文章目录 一、前言1、介绍说明2、部署方式3、冗余模式4、约束限制4.1、规格参数4.2、API支持a、minio不支持的Amazon S3 Bucket APIb、minio不支持的Amazon S3 Object API 二、部署说明1、软件安装2、minio单机部署3、minio分布式部署3.1、前置条件3.2、开始运行3.3、操作说明 …...
Java编程强化练习(二)
表达式计算(支持空格,连乘,连除)(选做题,不计分) 【问题描述】 从标准输入中读入一个整数算术运算表达式,如5 - 1 * 2 * 3 12 / 2 / 2 。计算表达式结果,并输出。 …...
Redis的高可用模式
1. 什么是高可用? 高可用(High Availability, HA)是指在信息技术中确保系统、服务或应用程序在绝大多数时间内都是可操作和可访问的能力。这通常涉及以下几个关键方面: 最小化停机时间: 高可用系统的目标是减少因硬件故障、系统升…...
非功能关键知识总结(一)
文章目录 一、稳定性(一)、服务级别协议1、SLA2、OLA3、UC (二)、可用性指标(三)、突发事件等级 三、质量(一)、千行代码缺陷数量(二)、软件质量模型的发展(三)、产品质量模型 四、安全(一)、网络安全 五、灾备(一)、灾备指标(二)、灾难恢复等级(三)、容灾技术分类 一、稳定性 …...
时间序列趋势检验相关检验方法:斜率法、Cox-Stuart检验、Mann-Kendall检验
文章目录 1.斜率法1.1.原理1.2.优缺点1.3.Python代码2.Cox-Stuart检验2.1.原理2.2.优缺点2.3.Python代码3.Mann-Kendall 检验3.1.原理3.1.1.假设前提3.1.2.趋势检验3.1.3.S到Z的变换原理3.1.4.Var(s)是如何得到的3.1.5.衡量趋势的指标:倾斜度...
Redis相关知识
yum安装redis 使用以下命令:直接将redis安装到Linux服务器(Xshell)中 yum -y install redis 启动redis 使用以下命令,以后台运行方式启动redis redis-server /etc/redis.conf & 操作redis 使用以下命令启动redis客户端 redis-…...
数据管理系统-week10-自由访问控制
文章目录 前言一、用户管理用户管理语句介绍二、数据库管理三、特权(重点考点)Administrative (global) privileges数据库特权表权限列权限四、角色参考文献前言 这节课主要讲了用户管理数据库的具体语句,数据库特权当中的全局特权,数据库特权,表特权与列特权的使用与注意…...
Python遥感开发之批量拼接
Python遥感开发之批量拼接 1 遥感图像无交错的批量拼接2 遥感图像有交错的批量拼接 前言:主要借助python实现遥感影像的批量拼接,遥感影像的批量拼接主要分为两种情况,一种是遥感图像无交错,另一种情况是遥感图像相互有交错。具体…...
【bat】批处理脚本大全
目录 1.概述 2.变量 3.运算符 3.2.重定向运算符 3.3.多命名运算符 3.4.管道运算符 4.命令 4.1.基本命令 4.2.参数传递 4.3.查看脚本内容 4.4.注释 4.5.日期和时间 4.6.启动脚本 4.7.调用其他bat 4.8.任务管理 4.8.1.任务列表查看 4.8.2.任务终止 4.9.文件夹 …...
java设计模式学习之【单例模式】
文章目录 引言单例模式简介定义与用途实现方式:饿汉式懒汉式 UML 使用场景优势与劣势单例模式在spring中的应用饿汉式实现懒汉式实现数据库连接示例代码地址 引言 单例模式是一种常用的设计模式,用于确保在一个程序中一个类只有一个实例,并且…...
UWB高精度定位系统项目源码
在现代社会中,精准定位技术对于各行各业都至关重要。为了满足对高精度定位的需求,超宽带(Ultra-Wideband, UWB)技术应运而生。UWB高精度定位系统以其出色的定位精度和多样化的应用领域而备受关注。本文将深入探讨UWB高精度定位系统…...
WPF Live Charts2 自学笔记
文章目录 前言实现效果微软平台的历史问题 WPF 项目搭建Nuget添加额外框架添加项目初始化livecharts配置其它LiveCharts2 案例简单案例Demo示例ViewViewModel GPU渲染 Github地址仓库 前言 LiveChart 是C# 上面很受欢迎的统计图 UI控件。最近在学WPFhalcon开发,想想…...
大小堆的实现(C语言)
目录 前言 一种完全二叉树:堆 堆的概念 堆的性质 建堆的时间复杂度 建堆的空间复杂度: 小堆的实现 必要补充 堆的初始化 堆的销毁 向上调整算法 堆的插入 向下调整算法 堆的删除 获取堆顶元素 获取堆中元素个数 堆的判空 最终代码 He…...
Linux系统之centos7编译安装Python 3.8
前言 CentOS (Community Enterprise Operating System) 是一种基于 Red Hat Enterprise Linux (RHEL) 进行源代码再编译并免费提供给用户的 Linux 操作系统。 CentOS 7 采用了最新的技术和软件包,并提供了强大的功能和稳定性。它适用于各种服务器和工作站应用场景&a…...
Lambda表达式与方法引用
作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 引子 先来看一个案例 …...
二维数组处理(一)
输入整型二维数组a(5行5列),完成如下要求: 输出二维数组a。 将a的第2行和第4行元素对调后,形成新的二维数组a并按行输出,每个元素之间隔一个空格。(行号从0开始计算)。 用对角线(指二维数组左…...
手把手调试:从V8引擎的ArrayBuffer到WebAssembly,一步步拆解Chrome CVE-2020-6507漏洞利用链
深入解析Chrome V8引擎漏洞利用:从ArrayBuffer到WebAssembly的内存操控实战 浏览器安全研究领域近年来持续升温,其中V8引擎作为Chrome和Node.js的核心组件,其安全性直接影响着数十亿用户。本文将带您深入探索一个典型V8漏洞(CVE-2…...
超越rviz_satellite:用Mapviz实现高精度SLAM地图与卫星图叠加(附开源数据集测试)
超越rviz_satellite:用Mapviz实现高精度SLAM地图与卫星图叠加(附开源数据集测试) 当自动驾驶车辆在复杂城市环境中穿行,或是无人机在未知区域执行勘探任务时,将实时构建的SLAM地图与卫星影像精准叠加,已成…...
Captain AI vs DeepSeek:Ozon 卖家专属 AI,垂直深耕更懂俄语区
做Ozon跨境,选 AI 工具别只看 “全能”,更要看 “专业”和“精通”。DeepSeek 是通用型跨境AI,覆盖多平台、多场景;而Captain AI是Ozon垂直定制 AI,聚焦俄语区与Ozon规则,四大核心功能精准解决卖家从新品到…...
League-Toolkit技术解析:从原理到实践的全方位指南
League-Toolkit技术解析:从原理到实践的全方位指南 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League-Toolkit是一…...
硬件基础常识【2】--BJT深度饱和区的参数设计与工程实践
1. BJT深度饱和区的核心参数设计 三极管作为电子设计中最基础的元器件之一,其开关特性在实际工程中应用极为广泛。要让BJT稳定工作在深度饱和区,关键是要掌握几个核心参数的相互关系。我当年在设计第一个开关电路时,就因为没吃透这些参数关系…...
解决Word中MathType功能失效的VBA与注册表修复指南
1. 遇到MathType罢工?先别急着重装Office 最近帮同事处理Word文档时,发现他的MathType菜单全灰了,公式编辑功能完全瘫痪。这种情况在科研论文写作高峰期特别要命——你正赶着投稿 deadline,突然发现公式编辑器失灵了,…...
三步解决Windows 11卡顿难题:开源工具Win11Debloat让系统效率提升3倍
三步解决Windows 11卡顿难题:开源工具Win11Debloat让系统效率提升3倍 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to de…...
iOS内购避坑指南:从沙盒测试到正式上线的完整流程(附常见错误解决方案)
iOS内购全流程实战:从沙盒测试到生产环境的避坑手册 当你第一次集成iOS内购(IAP)时,是否遇到过这些场景?用户付款后商品迟迟未到账、沙盒测试时收据验证总是失败、审核阶段一切正常但上线后出现大量丢单...这些问题往往…...
告别手动更新!用Python+Pandas快速解析通达信tnf文件,构建本地股票代码库
用PythonPandas高效解析通达信TNF文件:打造自动化股票代码库 每次手动更新股票代码库时,那些重复性操作总让我想起学生时代抄写课文的场景——机械、耗时且容易出错。作为量化研究员,我们真正需要的是把时间花在策略优化上,而不是…...
别再死磕理论了!用Python+Pytorch实战多示例学习(MIL)图像分类,附完整代码
用PythonPytorch实战多示例学习图像分类:从数据到模型的完整指南 当你第一次听说"多示例学习"(Multiple Instance Learning, MIL)时,是不是也被那些抽象的理论弄得一头雾水?作为计算机视觉领域的重要技术&am…...
