728x90
 

1547번: 공

첫째 줄에 컵의 위치를 바꾼 횟수 M이 주어지며, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 컵의 위치를 바꾼 방법 X와 Y가 주어지며, X번 컵과 Y번 컵의 위치를 서로 바꾸는 것을 의미한다. 컵을 이동시키는 중에 공이 컵에서 빠져나오는 경우는 없다. X와 Y의 값은 3보다 작거나 같고, X와 Y가 같을 수도 있다.

www.acmicpc.net

#include <iostream>
#include <string>
#include <map>
using namespace std;


int main() {
	int m;
	cin >> m;
	int cup[3] = { 1, 2, 3 };
	map<int, int> map;
	map[1] = 0;
	map[2] = 1;
	map[3] = 2;
	for (int i = 0; i < m; i++) {
		int from, to;
		cin >> from >> to;
		swap(cup[map[from]], cup[map[to]]);
		swap(map[from], map[to]);
	}
	cout << cup[0];
	return 0;
}
728x90

+ Recent posts