n개의 원소 중 m개를 고르는 모든 조합을 찾는 알고리즘
0~n-1까지 n개의 원소가 있을 때 그 중 m개를 고르는 모든 조합을 출력한다. n: 전체 원소 수 picked: 지금까지 고른 원소들의 번호 toPick: 더 고를 원소의 수 #include #include using namespace std; void printPicked(vector picked) { for(int i : picked) printf("%d ",i); printf("\n"); } void pick(int n,vector& picked,int toPick) { if(toPick==0) { printPicked(picked); return; } int smallest=picked.empty()?0:picked.back()+1; for(int next=smallest;next
Algorithm/Theory
2021. 6. 7. 10:14