递归实现指数型枚举

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

递归实现指数型枚举

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

输入格式

输入一个整数 n。

输出格式

每行输出一种方案。

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

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

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

数据范围

1≤n≤15

输入样例:

3

输出样例:

3

2

2 3

1

1 3

1 2

1 2 3

提交代码

import java.util.*;
public class Main
{
    static ArrayList<Integer> list = new ArrayList<>();
    static boolean [] st = new boolean[20];
    static int n;
    static void dfs (int u, int m, int start)
    {
        if (u == m)
        {
            Iterator it = list.iterator();
            while(it.hasNext())
            {
                System.out.print(it.next() + " ");
            }
            System.out.println();
            return;
        }
        for (int i = start; i <= n; ++ i)
        {
            if (!st[i])
            {
                st[i] = true;
                list.add(i);
                dfs (u + 1, m, i + 1);
                st[i] = false;
                list.remove(list.size() - 1);
            }
        }
    }
    public static void main(String [] args)
    {
        Scanner in = new Scanner(System.in);
        n = in.nextInt();
        System.out.println();
        for (int i = 1; i <= n; ++ i)
        {
            dfs (0, i, 1);
        }
    }
}
相关文章
|
11月前
|
网络协议 应用服务中间件 网络安全
2025阿里云免费版SSL证书申请流程,跟着教程一步步,非常简单!
2025年阿里云提供免费SSL证书,品牌为Digicert,单域名证书免费时长3个月,每账号限领20张。申请流程包括登录阿里云数字证书管理服务控制台,选择“个人测试证书”,完成购买并填写申请表单,进行域名DNS验证,提交审核后下载证书。支持多种服务器类型及证书格式。免费证书到期需重新申请,不支持续费。详情见阿里云官方页面。
2801 15
|
边缘计算 人工智能 安全
5G 核心网络 (5GC) 与 4G 核心网:架构变革,赋能未来
5G 核心网络 (5GC) 与 4G 核心网:架构变革,赋能未来
940 6
|
网络协议 网络虚拟化
接收网络包的过程——从硬件网卡解析到IP
【9月更文挑战第18天】这段内容详细描述了网络包接收过程中机制。当网络包触发中断后,内核处理完这批网络包,会进入主动轮询模式,持续处理后续到来的包,直至处理间隙返回其他任务,从而减少中断次数,提高处理效率。此机制涉及网卡驱动初始化时注册轮询函数,通过软中断触发后续处理,并逐步深入内核网络协议栈,最终到达TCP层。整个接收流程分为多个层次,包括DMA技术存入Ring Buffer、中断通知CPU、软中断处理、以及进入内核网络协议栈等多个步骤。
|
Linux 数据安全/隐私保护 C语言
内网穿透实践(使用神卓互联实现内网穿透)
内网穿透实践(使用神卓互联实现内网穿透)
636 0
|
监控 Ubuntu Linux
|
缓存 负载均衡 网络协议
面试官:Netty的线程模型可不是Reactor这么简单
面试官:Netty的线程模型可不是Reactor这么简单
面试官:Netty的线程模型可不是Reactor这么简单
|
人工智能 算法 安全
游戏人工智能——A*寻路算法实践
A*寻路算法实践 一、题目背景 随着多媒体设备、虚拟现实、增强现实、物联网等技术的飞跃发展,计算速度与存储容量的日益提高以及相关软件的研究取得长足进步,人工智能的应用得以进一步推广发展起来。地图寻径问题是人工智能技术的一个重要领域。在网络游戏中,寻径问题必须考虑多方面的因素,比如游戏地图中文件结构和起点与目标点之间是否可以连通以及游戏运行时运行内存资源占用、可扩展更新性、安全程度等。长久以来,游戏开发者在开发过程中为了实现这些绞尽脑汁。 在搜索寻径问题中,Dijkstra算法是目前许多工程解决最短路径
685 0
游戏人工智能——A*寻路算法实践
|
Unix Linux
CentOS安装HP StorageWorks Ultrium 3000磁带机
因为从2000年就开始使用FreeBSD,虽然这么多年过去了Linux遍地生花,BSD的光彩也不像当年那样耀眼。但是这么多年的习惯是没办法改了,因为习惯所以本文档的系统选择了FreeBSD。 2022年10月5日记:无奈因为很多原因还是选择了Linux,以下文档全是在Linux下完成。
617 0
CentOS安装HP StorageWorks Ultrium 3000磁带机
|
SQL 缓存 自然语言处理
白日梦的Elasticsearch实战笔记,32个查询案例、15个聚合案例、7个查询优化技巧(二)
白日梦的Elasticsearch实战笔记,32个查询案例、15个聚合案例、7个查询优化技巧(二)
1285 1
|
前端开发 算法 图形学
用canvas绘制一个曲线动画——深入理解贝塞尔曲线
用canvas绘制一个曲线动画——深入理解贝塞尔曲线
1171 0