현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘
📍 상태 공간 트리
: 문제 해결 과정의 중간 상태들을 모두 노드로 나타내는 트리
https://www.acmicpc.net/problem/15649
https://www.acmicpc.net/problem/9663
https://www.acmicpc.net/problem/1182
#include <algorithm>
## 1) 순열
```cpp
int a[3] = {1, 2, 3};
do {
for (int i = 0; i < 3; i++)
{
cout << a[i];
}
cout << '\n';
} while (next_permutation(a, a+3));
// 결과 값은 아래와 같다.
/*
123
132
213
231
312
321
*/
int a[4] = {0, 0, 1, 1};
do {
for (int i = 0; i < 4; i++)
{
if (a[i] == 0)
cout << i + 1;
}
cout << '\n';
} while (next_permutation(a, a+4));
// 결과 값은 아래와 같다.
/*
12
13
14
23
24
34
*/