※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 24089번 문제인 ボールの移動 (Moving Balls)이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/24089 

 

24089번: ボールの移動 (Moving Balls)

操作をすべて終えた後,ボール 1 は箱 1 ,ボール 2 は箱 2 ,ボール 3 は箱 3 に入っている.したがって,1,2,3 をこの順に改行区切りで出力する.

www.acmicpc.net

arr[i]를 "i번 공이 현재 담겨있는 상자번호"로 정의하자.

 

이제, arr[i]를 초기상태(i번 공은 i번 상자에 들어있다)로 초기화해주고, M회의 이동을 시뮬레이션하는 것으로 문제를 해결할 수 있다.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int N, M;
int arr[2001];

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> N >> M;
	for (int i = 1; i <= N; i++) arr[i] = i;

	while (M--) {
		int X, Y; cin >> X >> Y;
		arr[X] = Y;
	}

	for (int i = 1; i <= N; i++) cout << arr[i] << '\n';
}
728x90

+ Recent posts