C++/백준 C++

[백준] C++ 10812 바구니 순서 바꾸기 [구현, 시물레이션]

CE : 하랑 2024. 11. 13. 22:20

 

 

 

 

코드

#include <iostream>
#include <vector>


int main()
{
	std::vector<int> nums;

	int n, m;

	std::cin >> n >> m;

	nums.reserve(n);

	
	for (int i = 1; i <= n; i++)
	{
		nums.push_back(i);
	}

	for (int order = 0; order < m; order++)
	{
		int i, j, k;

		std::cin >> i >> j >> k;

		int mid = k;
		int end = j;
		int begin = i;


		std::vector<int> Checknum;
		Checknum.reserve(end - begin);

		for (int n1 = mid; n1 <=end; n1++)
		{
			Checknum.push_back(nums[n1 - 1]);
		}

		for (int n1 = begin; n1 <mid ; n1++)
		{
			Checknum.push_back(nums[n1 - 1]);
		}

		int index = 0;
		for (int n1 = begin; n1 <= end; n1++)
		{
			nums[n1 - 1] = Checknum[index];
			++index;
		}
	}

	for (int i = 0; i < nums.size(); i++)
	{
		std::cout << nums[i] << " ";
	}

	std::cout << "\n";
	return 0;


}