当前位置: 首页 > article >正文

第十六届蓝桥杯康复训练--1

题目链接:92. 递归实现指数型枚举 - AcWing题库

思路:因为题目要求必须升序输出,所以在递归遍历的时候从1开始就好,然后遍历过的变量打个标记,避免重复遍历,到n个就输出路径上所有的数,需要注意是,题目中允许任取0个数,也就是说输出存在空行

代码:

#include<bits/stdc++.h>
using namespace std;
#define N 100010

int n;
bool vis[N];
vector<int> paths;

map<vector<int>,bool> mp;

void func(int u,int num){
    if(paths.size()==num){
        for(auto it:paths){
            cout<<it<<" ";
        }cout<<endl;
        return;
    }
    
    for(int i=u;i<=n;i++){
        if(vis[i])continue;
        paths.push_back(i);
        vis[i]=true;
        func(i,num);
        paths.pop_back();
        vis[i]=false;
    }
}

void solve(){
    cin>>n;
    for(int i=0;i<=n;i++){
        // 任取多少个数
        func(1,i);
    }
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    
    int t=1;
    // cin>>t;
    while(t--){
        solve();
    }
    
    
    return 0;
}


http://www.kler.cn/a/589069.html

相关文章:

  • Java实体类转JSON时如何避免null值变成“null“?
  • 现成的管理系统页面,直接可以使用,粘贴就行
  • Selenium Manager和webdriver manager的区别与联系
  • 【数学建模】一致矩阵的应用及其在层次分析法(AHP)中的性质
  • Gartner发布量子网络安全策略指南:2030年量子计算将能够破坏传统的加密算法
  • 安装教程整理 docker linux 虚拟机
  • MySQL时间溢出原理、影响与解决方案
  • NVIDIA Jetson上docker报错 can‘t initialize iptables table `raw‘
  • Unity Timeline 扩展
  • Unity学习日志4
  • vscode打不开
  • Pytest深度集成Playwright让测试自动化变得轻松简单
  • Cisdem Video Converter for Mac v8.4.1 视频格式转换 支持M、Intel芯片
  • Java 常用工具类大全:高频工具类及代码示例(后续继续补充)
  • 区块链与去中心化技术
  • 基于SpringBoot的公司财务管理系统+LW示例参考
  • 工作记录 2017-01-06
  • N皇后问题——dfs解法(回溯+减枝+深搜)
  • 7、基于osg引擎实现读取vtk数据通过着色器实现简单体渲染(1)
  • go 安装swagger