首页 > 其他分享 >组合型枚举

组合型枚举

时间:2024-04-26 23:58:44浏览次数:17  
标签:组合型 chosen DFS int 枚举 return size

0.简介

同 $C_{m}^{n} $

1.代码模板

#include<bits/stdc++.h>
using namespace std;
int n, m;
vector<int> chosen;

// x为当前选择的位, n-x+1为剩余可以选择的数量 
void DFS(int x) {
	if(chosen.size() > m || chosen.size() + (n - x + 1) < m) {
		return;
	}

	// 选满了m 个数
	if(x == n + 1) {
		for(int num : chosen) {
			cout << num << " ";
		}
		cout << endl;
		return;
	}

	// 选择当前值
	chosen.push_back(x);
	DFS(x+1);
	// 不选择当前值
	chosen.pop_back();
	DFS(x+1);

}
int main() {
	cin >> n >> m;
	DFS(1);
	return 0;
}

标签:组合型,chosen,DFS,int,枚举,return,size
From: https://www.cnblogs.com/trmbh12/p/18123293

相关文章

  • JTCR-枚举、装箱和注解-10
    枚举枚举定义了一个数据类型和该数据类型允许的若干个值,这些值为命名常量。一个枚举实例的值必须是定义的值。Java中,枚举是类类型,可以有构造器、方法和实例变量,甚至实现接口。但不能使用new实例化。enumName{value1,value2,...}//定义Namen=Name.value1;//......
  • TS — 枚举(详解)
    在TypeScript中,枚举(Enum)是一种数据类型,用于定义一组命名的常量值。枚举可以帮助开发者更清晰地表达意图,提高代码的可读性和可维护性。1.枚举的基本语法:enumDirection{Up,Down,Left,Right,}//Direction枚举定义了四个常量值:Up、Down、Left、Right。默认情......
  • day12_我的Java学习笔记 (package包、权限修饰符_private+缺省+protected+public、fin
    1.包IDEA配置自动导包:2.权限修饰符同一个类中的,【private、缺省、protected、public】都可以访问同一个包中的其他类,【private】不可以访问,【缺省、protected、public】都可以访问不同包下的无关类,【private、缺省、protected】都不可以访问,只有【public......
  • 8.集合、泛型、枚举、注解、反射
    第八章【集合、泛型、枚举、注解、反射】一、集合1、概述集合是JavaAPI中提供的一种容器工具,可以用来存储多个数据。集合框架中主要有三个要素组成:接口实现类数据结构集合中不可以存放基本类型集合按照其存储结构可以分为两大类:java.util.Collection 单值存放......
  • EditorGUI.EnumFlagsField实现多选枚举
    效果枚举publicenumMyFontStyleMask{Bold=1,Italic=1<<1,Outline=1<<2,}标签类usingUnityEngine;publicclassMyEnumMaskAttribute:PropertyAttribute{}Property Drawer#ifUNITY_EDITORusingSystem;usingUnityEd......
  • EditorGUI.MaskField实现多选枚举
    效果枚举publicenumMyFontStyleMask{Bold=1,Italic=1<<1,Outline=1<<2,}标签类usingUnityEngine;publicclassMyEnumMaskAttribute:PropertyAttribute{}PropertyDrawer#ifUNITY_EDITORusingSystem;usingUnityEd......
  • C语言10-指针(多级指针、空指针、野指针),自定义数据类型(枚举enum、结构体struct)
    第12章指针pointer12.6多级指针指向指针的指针称为多级指针eg:int*ptr1=&num; int**ptr2=&ptr1; int***ptr3=&ptr2;12.7空指针应用场景:1.暂时不确定指向的指针,可以在定义的时候先赋值为NULL2.有些指针函数,如果内部出现异常无法成功实现功能,可以返回NUL......
  • C++算法题解 - 递归实现排列型枚举 - 递归法 (图文) (递归搜索树)
    题目:递归实现排列型枚举把1∼n这n个整数排成一行后随机打乱顺序,输出所有可能的次序。输入格式一个整数n。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。数据......
  • 枚举Enumeration
    枚举它的对象(具体值)是固定的时(如:性别、季节等)不会更多,普通类不能体现它们是固定的若干个对象。枚举(enumeration,简写enum)是一组常量的集合;可以理解为特殊的类,里面仅包含一组有限的特定对象。自定义实现枚举构造器私有化,防止直接实例化对象去掉set方法,防止属性被修改;保证对象......
  • 泛型类型参数约束2 - 枚举作为约束类型
    先复习下枚举的相关基础知识:枚举类型(EnumType)说明枚举只有一种成员:命名的整型常量的集合枚举是值类型使用枚举有效地防止用户提供无效值,使代码更加清晰定义枚举:注意:​枚举成员不可以使用修饰符​每个枚举成员底层都是一个常量值​默认情况下,枚举成员的类型是int......