Notice
Recent Posts
Recent Comments
Link
궤도
[백준] 10974번 : 모든 순열 본문
문제
풀이
이때 백트래킹으로 풀었던 문제였는데...
www.cplusplus.com/reference/algorithm/next_permutation/?kw=next_permutation
이걸로 간단하게 풀 수 있었다.
(1, 2, 3, ..., N)부터 시작해서 next_permutation을 계속 호출하면 된다.
가장 첫번째 순열을 빠뜨리지 않도록 do-while문을 사용했다.
소스코드
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int N;
vector<int> arr;
cin >> N;
for (int i = 1; i <= N; i++) {
arr.push_back(i);
}
do { //순서대로 출력
for (int i = 0; i < N; i++)
cout << arr[i] << ' ';
cout << '\n';
} while (next_permutation(arr.begin(), arr.end()));
}
Comments