백준 모든 순열구하기를 풀면서 알게된 함수
next_permutation함수는

이미지처럼 순열이 나오게하는 함수입니다.
배열이나 벡터에 오름차순으로 정렬되어있어야합니다.
소스
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> v(n);
for (int i = 0; i < n; i++) {
v[i] = i + 1;
}
do {
for (int i = 0; i < n;i++) {
cout << v[i] << " ";
}
cout << "\n";
} while (next_permutation(v.begin(),v.end()));
return 0;
}
#include<algorithm> 도 선언되어있어야합니다.
prev_permutation는 반대라고 생각하시면됩니다.
이전 순열을 구해준다고 생각하시면됩니다.
배열이 내림차순으로 정렬되어있어야함
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
/*int n;
cin >> n;*/
vector<int> v(4);
for (int i = 0; i<4; i++) {
v[i] = 4-i;
}
do {
for (int i= 0; i <4; i++) {
cout <<v[i]<< " ";
}
cout << "\n";
} while (prev_permutation(v.begin(), v.end()));
return 0;
}

'C#' 카테고리의 다른 글
| [C]백준 11057번 오르막 수 (0) | 2026.02.13 |
|---|---|
| [C++]C++선행처리자,매크로,지시자 공부하기 (0) | 2026.02.11 |
| C++ 오류 =': 'const char'에서 'char *'(으)로 변환할 수 없습니다. 해결방법 (0) | 2026.02.03 |
| [C++]C++문법 1차원배열 / 2차원배열 공부하기 (0) | 2026.02.01 |
| [C++]C++문법 포인터공부하기 (0) | 2026.01.27 |