92 [递归实现指数型枚举](https://www.acwing.com/problem/content/94/)

news/2024/7/20 20:07:21 标签: 深度优先, 算法

从 1∼n1∼� 这 n� 个整数中随机选取任意多个,输出所有可能的选择方案。

输入格式

输入一个整数 n�。

输出格式

每行输出一种方案。

同一行内的数必须升序排列,相邻两个数用恰好 11 个空格隔开。

对于没有选任何数的方案,输出空行。

本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。

数据范围

1≤n≤151≤�≤15

输入样例:
3
输出样例:
3
2
2 3
1
1 3
1 2
1 2 3

思路:

dfs建立递归搜索树,每个位置有选和不选两种选择,依次往下一层推

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

代码

#include <bits/stdc++.h>
#define MAX_NODE_NUM 16
int State[MAX_NODE_NUM];    //记录当前节点是否被访问过的全局数组
void dfs(int pos, int totalNum) {
    if(pos > totalNum - 1) {
        for(int i = 0; i < totalNum; i++) {
            if(State[i] != 0) {
                printf("%d ", i + 1);
            }
        }
        printf("\n");
        return;
    }

    /*遍历左子树, 左子树是当前位置没选*/
    State[pos] = 0;
    dfs(pos + 1, totalNum);
    /*遍历右子树,当前位置选*/
    State[pos] = 1;     //其实这里有回溯的思想
    dfs(pos + 1, totalNum);
    return;
}
int main() {
    int totalNums;
    scanf("%d", &totalNums);
    dfs(0, totalNums);
    return 0;
}

http://www.niftyadmin.cn/n/5183508.html

相关文章

Django——路由层

一. 路由匹配 1. 路由匹配注意事项 urlpatterns [url(r^admin/, admin.site.urls),# 首页url(r^$,views.home),# 路由匹配url(r^test/$,views.test),url(r^testadd/$,views.testadd),# 尾页(了解): 后期使用异常捕获处理, 这样的尾页让django的第二次在路径中斜杠APPEND_SL…

url在api测试工具可以访问,但在浏览器不能访问

api测试工具可以正常返回数据&#xff0c;但在浏览器中输入url无法访问网站那么很有可能是端口号的原因被浏览器取消了访问。 我们可以通过两种方法解决&#xff1a; 1.修改配置文件中的端口号。 2.取消端口号的限制。&#xff08;具体方法已经有很多前辈讲过了&#xff0c;若感…

FPGA时序分析与约束(13)——I/O接口约束

一、概述 在应用了时钟约束后&#xff0c;所有寄存器到寄存器的路径都能定时。为了获得更加精准的FPGA外部时序信息&#xff0c;设计者需要为FPGA的I/O接口指定时序信息&#xff0c;一般时序工具只能获取FPGA器件内部的时序信息&#xff0c;对于FPGA器件引脚之外的时序信息&…

利用Vue+Echarts完成可视化任务

文章目录 任务一&#xff1a;用柱状图展示消费额最高的省份&#xff08;一&#xff09;提出任务&#xff08;二&#xff09;准备工作1、利用postman访问接口数据2、安装node.js3、输入更换镜像源为淘宝源4、清除npm缓存5、安装vue脚手架6、创建vue项目7、启动vue项目 任务一&am…

Ubuntu openssh-server 离线安装

经常用到ubunutu 20.04容器&#xff0c;但是没有ssh比较难调试代码&#xff0c;离线环境下安装方法&#xff1a; 安装以下三个软件包&#xff0c;点击openssh下载链接可下载&#xff1a; 1、openssh-client_8.2p1-4_amd64.deb 2、openssh-sftp-server_8.2p1-4_amd64.deb 3、…

JAVA G1垃圾收集器介绍

为解决CMS算法产生空间碎片和其它一系列的问题缺陷&#xff0c;HotSpot提供了另外一种垃圾回收策略&#xff0c;G1&#xff08;Garbage First&#xff09;算法&#xff0c;通过参数-XX:UseG1GC来启用&#xff0c;该算法在JDK 7u4版本被正式推出&#xff0c;官网对此描述如下&am…

JavaWeb Day10 案例-部门管理

目录 一、查询部门 &#xff08;一&#xff09;需求 &#xff08;二&#xff09;思路 &#xff08;三&#xff09;查询部门 &#xff08;四&#xff09;、前后端联调 二、删除 &#xff08;一&#xff09;需求 &#xff08;二&#xff09;思路 &#xff08;三&#xf…

电脑检测温度软件有哪些?

环境&#xff1a; Win10 专业版 问题描述&#xff1a; 电脑检测温度软件有哪些&#xff1f; 解决方案&#xff1a; 有很多电脑检测温度的软件可供选择&#xff0c;以下是一些常用的电脑温度监测工具&#xff1a; HWMonitor&#xff1a;一款免费的硬件监控软件&#xff0…