알고리즘/JM북
149p 조합 찾기
quantdave
2017. 2. 5. 20:17
#include <iostream>
#include <vector>
using namespace std;
void printPicked(const vector<int> &picked)
{
for(auto i = picked.begin(); i!=picked.end(); i++)
{
cout<<*i<<" ";
}
cout<<endl;
}
void pick(int n, vector<int> &picked, int toPick)
{
if(toPick == 0){
printPicked(picked);
return ;
}
int smallest = picked.empty() ? 0 : picked.back()+1;
for(int next = smallest; next<n; ++next)
{
picked.push_back(next);
pick(n, picked,toPick-1);
picked.pop_back();
}
}
int main()
{
vector<int> a;
pick(5,a, 3);
}