본문 바로가기

문과 코린이의, [C. C++] 기록/C++ 백준 문제풀이

[문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - 모든 순열 (10974)

반응형

[문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - 모든 순열 (10974)

[문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - 모든 순열 (10974)

 


 

 

10974번: 모든 순열

N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오.

www.acmicpc.net

[ 문제 ]

N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오.

[ 입력 ]

첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다. 

[ 출력 ]

첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다.


[ 코드 ]

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main() {
int N;
cin >> N;
vector <int> a(N);
for (int i = 0; i < N; i++)
{
a[i] = i+1;
}
do
{
// 최초 실행
for (int i = 0; i < N; i++)
{
cout << a[i] << ' ';
}
cout << '\n';
} while (next_permutation(a.begin(),a.end())); // 조건식 : true이면 재실행
return 0;
}
반응형