원리
전체 n개의 원소들 중에서 k개를 뽑는 조합(nCk)을 구한다면 n개의 벡터 원소에 1을 k개, 0을 나머지 n-k개 집어넣어서 순열을 돌리고 1에 해당하는 인덱스를 가져오면 된다.
Example
a.push_back(1);
a.push_back(1);
a.push_back(0);
a.push_back(0);
for(int i = 1; i <= 4; ++i)
num.push_back(i);
do{
for(int i = 0; i < num.size();i++){
if(a[i] == 1)
cout << num[i] << " ";
}
cout << endl;
}while(prev_permutation(a.begin(),a.end()));
'C|C++ 라이브러리' 카테고리의 다른 글
[string] size() 와 length() 비교 (0) | 2023.07.05 |
---|---|
strcpy, strcmp를 이용해 char형 배열 복사 및 비교하기 (0) | 2020.08.31 |
next_permutation, prev_permutation을 이용해 순열 구하기 (0) | 2020.08.27 |