一、枚举法(暴力枚举)
组合枚举:在n个中随机选取m个
#include<bits/stdc++>
using namespace std;
int n;//一共n个数
int m;//选m个数
vector<int> chosen;
void calc(int x){
if(chosen.size() > m ||chosen.size() + (n-x+1) < m)//剪枝
return;
if(x == n + 1){//选够了m个数就输出
for(int i = 0; i < chosen.size(); i++)
cout << chosen[i];
puts("");
return;
}
calc(x + 1);
chosen.push_back(x);
calc(x + 1);
chosen.pop_back();//消除痕迹
}
int main()
{
cin >> n >> m;
calc(1);
}