递归实现指数型枚举

简介: 递归实现指数型枚举

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

输入格式

输入一个整数 n

输出格式

每行输出一种方案。

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

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

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


数据范围

1≤n≤15

输入样例:

3

输出样例:

3
2
2 3
1
1 3
1 2
1 2 3
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
const int N = 16;
int n;
int st[N];  //记录每个位置当前状态 0还没考虑 1选他 2不选他
int ways[1 << 15][16], cnt;
void dfs(int u)
{
    if (u > n)
    {
        for (int i = 1; i <= n; i++)
        {
            if (st[i] == 1)
            {
                ways[cnt][i] = i;
            }
        }
        cnt++;
        return;
    }
    st[u] = 2;
    dfs(u + 1);  //第一个分支 不选
    st[u] = 0;   //恢复现场
    st[u] = 1;
    dfs(u + 1);  //第二个分支 选
    st[u] = 0;
}
int main()
{
    cin >> n;
    dfs(1);
    for (int i = 0; i < cnt; i++)
    {
        for (int j = 1; j <= n; j++)
        {
            if(ways[i][j]!=0)
            {
                printf("%d ", ways[i][j]);
            }
        }
        puts("");
    }
    return 0;
}
目录
相关文章
|
数据采集 机器学习/深度学习 Python
【机器学习】数据清洗——基于Pandas库的方法删除重复点
【机器学习】数据清洗——基于Pandas库的方法删除重复点
706 1
|
12月前
|
负载均衡 网络协议 安全
slb多站点或多域名部署
slb多站点或多域名部署
362 4
|
人工智能 Java 关系型数据库
Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述
Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述
716 4
Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述
|
存储 设计模式 编解码
.NET 8.0 通用管理平台,支持模块化、WinForms 和 WPF
【11月更文挑战第5天】本文分析了.NET 8.0 通用管理平台在模块化、WinForms 和 WPF 方面的优势。模块化设计提升了系统的可维护性和可扩展性,提高了代码复用性;WinForms 提供了丰富的控件库和简单易用的开发模式,技术成熟稳定;WPF 支持强大的数据绑定和 MVVM 模式,具备丰富的图形和动画功能,以及灵活的布局系统。
582 2
|
数据采集 SQL 关系型数据库
在 MySQL 中使用 Union
【8月更文挑战第11天】
1052 0
在 MySQL 中使用 Union
|
数据采集 数据可视化 安全
台风灾害数据分析与可视化:利用Java和数据科学技术解读台风趋势
台风灾害数据分析与可视化:利用Java和数据科学技术解读台风趋势
|
C++ Windows
IOCP windowsServer示例
IOCP windowsServer示例
|
数据可视化 IDE 开发者
【Python篇】PyQt5 超详细教程——由入门到精通(终篇)
【Python篇】PyQt5 超详细教程——由入门到精通(终篇)
3011 1
|
消息中间件 Java Kafka
Spring 事务的独门绝技:钩子函数的使用技巧
经过前面对Spring AOP、事务的总结,我们已经对它们有了一个比较感性的认知了。今天,我继续安利一个独门绝技:Spring 事务的钩子函数。单纯的讲技术可能比较枯燥乏味。接下来,我将以一个实际的案例来描述Spring事务钩子函数的正确使用姿势。
Spring 事务的独门绝技:钩子函数的使用技巧
|
机器学习/深度学习 数据可视化 Linux
深度学习模型可视化工具——Netron使用介绍
深度学习模型可视化工具——Netron使用介绍
2998 2