C++/백준 C++

[C/C++] 백준 10811번 바구니 뒤집기

CE : 하랑 2024. 5. 28. 12:04

 

 

 

 

 

 

 


 

코드

#include <iostream>
#include <vector>

int main()
{

    std::vector<int> num; // 출력용 vector
    std::vector<int> num1; // 역순 계산용 vector

    int n, m;

    std::cin >> n >> m;

    // 백터의 크기는 n 기준 정함
    num.resize(n);
    num1.resize(n);

    // 값 넣어주기
    for (int k = 0; k < n; k++)
    {
        num[k] = k + 1;
        num1[k] = k + 1;
    }

    // 역순 계산
    for (int k = 0; k < m; k++)
    {
        int i, j;
        std::cin >> i >> j;

        for (int h = 0; h <= j-i; h++)
        {
            num[i - 1 + h] = num1[j - 1 - h];
        }

        num1 = num;
    }

    num1.clear(); // 계산용 vector는 용도를 다했으니 정리

    // 최종 출력
    for (int i = 0; i < n; i++)
    {
        std::cout << num[i]<<" ";
    }
    
    num.clear();
}