알고리즘

next permutation 응용

공대녀J 2022. 9. 30. 10:31

1. next permutation을 활용한 조합 구하기

#include <iostream>
#include <algorithm>
using namespace std;

int s[5] = { 1,2,3,4,5 };
int p[5] = { 0,1,0,1,0 };

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);

	int n = 5;

	//내림차순 정렬
	sort(p, p + n,greater<int>()); //모든 순열을 구하기 위해서는 정렬이 필수.

	do
	{
		for (int i = 0; i < 5; i++)
		{
			if (p[i] == 1)
			{
				cout << s[i] << ' ';
			}
		}
		cout << '\n';
	} while (prev_permutation(p, p + n));

	return 0;
}