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

深搜专题2:组合问题

描述

组合问题就是从n个元素中抽出r个元素(不分顺序且r < = n),

我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。

例如n = 5 ,r = 3 ,所有组合为:

1 2 3

1 2 4

1 2 5

1 3 4

1 3 5

1 4 5

2 3 4

2 3 5

2 4 5

3 4 5

输入描述

一行两个自然数n、r ( 1 < n < 21,1 < = r < = n )。

输出描述

所有的组合,每一个组合占一行且其中的元素按由小到大的顺序排列,所有的组合也按字典顺序。

字典顺序及从小到大。

学会去重即可。

#include <bits/stdc++.h>
using namespace std;
int n,r;
int s[10];
int vis[10];
void dfs(int x,int len){//加入起点传参
    if(len==r+1){//现在不是全排列
        for(int i=1;i<=r;i++){
            cout<<s[i]<<" ";
        }
        cout<<endl;
        return;
    }
    for(int i=x;i<=n;i++){
        if(!vis[i]){
            s[len]=i;
            vis[i]=1;
            dfs(i,len+1);//传入新起点
            vis[i]=0;
        }
    }
}
int main(){
    cin>>n>>r;
    dfs(1,1);
    return 0;
}

相关文章:

  • 第15天学习:类和对象的概念
  • ragflow-RAPTOR到底是什么?请通俗的解释!
  • 智能交通系统(Intelligent Transportation Systems):智慧城市中的交通革新
  • 【网络安全】常见的web攻击
  • 23. AI-大语言模型-DeepSeek简介
  • deepseek自动化代码生成
  • 《微软量子芯片:开启量子计算新纪元》:此文为AI自动生成
  • [SQL] 事务的四大特性(ACID)
  • 设计心得——解耦的实现技术
  • C++/JavaScript ⭐算法OJ⭐用两个队列实现栈
  • Java-13
  • Kafka系列之:记录一次源头数据库刷数据,造成数据丢失的原因
  • Chrome 推出全新的 DOM API,彻底革新 DOM 操作!
  • 【MySQL】索引和视图
  • Starlink卫星动力学系统仿真建模第七讲-卫星姿轨控系统(Attitude and Orbit Control System, AOCS)设计规范
  • 智信BI:解决Power BI全面兼容问题的新选择
  • List模拟实现
  • CellChat前沿:spaCI:通过自适应图模型破译空间蜂窝通信
  • vs构建网络安全系统 网络安全和网络搭建
  • 在群晖上使用Docker安装思源笔记
  • 9米长林肯车开进安徽“皖南川藏线”致拥堵数小时,车主回应争议称配合调查
  • 专家分析丨乌美签署矿产协议,展现美外交困境下的无奈
  • 王毅谈金砖国家反恐和网络安全合作
  • 美乌矿产协议预计最早于今日签署
  • 中国证券监督管理委员会党委委员、副主席王建军接受审查调查
  • 迪卡侬回应出售中国业务30%股份传闻:始终扎根中国长期发展