acwing<递归实现指数型枚举>

简介: 每日打卡

image.png

如题是刚开始写递归的基础题,对于n个数我们都有两种选择,选与不选,那我们用一个数组表示状态,0为未处理,1为选中,2为不选。每次递归都要更新状态,递归结束后回归上一级的状态。当深度等于整数个数时,则表示一次递归结束,最后将每个结果输出。就完成了题目的要求。


#include<cstdio>
#include<string>
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 15;  //最大数据个数
int n;
int sta[15];  //每个数的状态
void dfs(int i)
{
    if (i == n)
    {
        for (int j = 0; j < n; j++)
        {
            if (sta[j] == 1)
            {
                printf("%d ", j + 1); //下标从0开始
            }
        }
        puts("");
        return;
    }
    sta[i] = 1;   //分支一种为选中,另一种为不选
    dfs(i + 1);
    sta[i] = 2;   //更新状态
    dfs(i + 1);
}
int main()
{
    scanf("%d", &n);
    dfs(0);
    return 0;
}

image.gif

目录
相关文章
|
SQL 分布式计算 数据处理
Uber基于Apache Hudi增量 ETL 构建大规模数据湖
Uber基于Apache Hudi增量 ETL 构建大规模数据湖
431 2
|
7月前
|
传感器 人工智能 边缘计算
别让无人机“飞瞎”!5G才是它的“天眼”
别让无人机“飞瞎”!5G才是它的“天眼”
261 13
|
9月前
|
存储 智能硬件
CPU的定义与功能与架构
CPU(中央处理器)是计算机的核心部件,负责执行程序指令、控制数据传输和进行运算。它能处理算术与逻辑运算,并协调其他硬件协同工作。x86架构源于英特尔,适用于PC和服务器,采用复杂指令集;ARM架构则由Acorn等公司开发,广泛用于移动设备和嵌入式系统,采用精简指令集,功耗低且能效比高。
1242 5
|
11月前
|
存储 关系型数据库 分布式数据库
[PolarDB实操课] 01.PolarDB分布式版架构介绍
《PolarDB实操课》之“PolarDB分布式版架构介绍”由阿里云架构师王江颖主讲。课程涵盖PolarDB-X的分布式架构、典型业务场景(如实时交易、海量数据存储等)、分布式焦点问题(如业务连续性、一致性保障等)及技术架构详解。PolarDB-X基于Share-Nothing架构,支持HTAP能力,具备高可用性和容错性,适用于多种分布式改造和迁移场景。课程链接:[https://developer.aliyun.com/live/253957](https://developer.aliyun.com/live/253957)。更多内容可访问阿里云培训中心。
265 0
[PolarDB实操课] 01.PolarDB分布式版架构介绍
|
Cloud Native 持续交付 云计算
云计算的未来:云原生技术引领数字化转型新篇章####
本文旨在探讨云原生技术如何重塑云计算领域,推动企业实现前所未有的敏捷性、可扩展性和效率。我们将深入分析云原生的核心概念、关键技术组件(如容器化、微服务、持续集成/持续部署CI/CD),并通过实际案例展示其在不同行业中的应用成效。此外,还将探讨云原生面临的挑战及未来发展趋势,为读者提供全面而深入的理解。 ####
|
人工智能 监控 数据可视化
Java智慧工地信息管理平台源码 智慧工地信息化解决方案SaaS源码 支持二次开发
智慧工地系统是依托物联网、互联网、AI、可视化建立的大数据管理平台,是一种全新的管理模式,能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。围绕施工现场管理的人、机、料、法、环五大维度,以及施工过程管理的进度、质量、安全三大体系为基础应用,实现全面高效的工程管理需求,满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效,为监管平台提供数据支撑。
357 3
|
测试技术 uml
『软件工程13』浅谈面向对象方法,统一建模语言UML
该文章介绍了面向对象方法的基本概念及其在软件工程中的应用,并详细探讨了统一建模语言(UML)的各种图示及其在系统设计中的作用。
『软件工程13』浅谈面向对象方法,统一建模语言UML
|
安全 Java Linux
如何实现无公网IP及服务器实现公网环境企业微信网页应用开发调试
如何实现无公网IP及服务器实现公网环境企业微信网页应用开发调试
437 2
|
数据可视化 Java 测试技术
【Go语言专栏】Go语言中的内存泄漏检测与修复
【4月更文挑战第30天】Go语言内存泄漏详解:概念、原因、检测与修复。内存泄漏由忘记释放内存、循环引用等引起,Go通过垃圾回收机制管理内存,但仍有泄漏风险。检测方法包括pprof、可视化工具、代码审查和单元测试。修复策略涉及优化代码、使用defer、减少全局变量、弱引用及及时释放资源。实践案例分析有助于理解和解决问题。了解内存管理,防止泄漏,提升Go应用性能和稳定性。
572 0
|
网络协议 Unix Linux
Socket通信详细介绍1
Socket通信详细介绍
275 0