N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오.
첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다.
첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다.
3
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
#include<bits/stdc++.h>
using namespace std;
vector<int> num;
int a;
int main(){
cin >> a;
for(int i = 1; i<=a; i++) num.push_back(i); // 벡터 형태로 값을 저장
do{
for(auto i : num){
cout << i << ' ';
}
cout << '\n';
}
while(next_permutation(num.begin(), num.end())); // next_permutation 함수를 이용하여 모든 순열을 출력한다.
return 0;
}