본문 바로가기

Algorithm/BOJ (백준)

[C++] 백준 10974 모든 순열

10974 모든 순열

 

10974번: 모든 순열

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

www.acmicpc.net

C++

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin >> n;

    vector<int> permutation(n);    // 순열 저장

    for (int i = 1; i <= n; i++)
        permutation[i-1] = i;

    do {
        for (int i = 0; i < n; i++)
            cout << permutation[i] << ' ';
        cout << '\n';
    } while (next_permutation(permutation.begin(), permutation.end()));

    return 0;
}

 

ios_base::sync_with_stdio(0);
cin.tie(0);

 

C++의 입력과 출력이 시간 초과가 나는 것을 방지하기 위하여 위와 같은 코드를 추가한다.

또한 개행 문자 '\n'endl보다 빠르다는 점도 사소하지만 시간 초과 여부를 가를 수 있다.