풀이
순열을 사용한 완전탐색 기법 이용
순환 첫번째 값을 1~n까지 진행하여 모든 순열을 표시해주면 되는데
algorithm헤더의 next_permutation을 이용하여 편리하게 모든 순열을 구할 수 있었다.
vector에 1~n까지 차례로 값을 넣어주고 next_permutation을 이용해 순열을 구하는 코드이다.
코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n;
cin >> n;
vector<int> p(n);
for (int i = 1; i <= n; i++)
p[i - 1] = i;
do {
for (auto a : p)
cout << a << ' ';
cout << '\n';
} while (next_permutation(p.begin(), p.end()));
return 0;
}
https://www.acmicpc.net/problem/10974
'Koala - 10기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[백준/python] 1895번 필터 (0) | 2023.03.11 |
---|---|
[백준/C++]1969 : DNA (0) | 2023.03.10 |
[백준/C++] 9663 : N-Queen (0) | 2023.03.10 |
[백준/Python] 1051번 : 숫자 정사각형 (완전 탐색) (0) | 2023.03.08 |
[Programmers/Python] 단어 변환 (0) | 2023.03.06 |