반응형

문제 : https://www.acmicpc.net/problem/1547

 

 

아이디어

 

컵1 컵2 컵3
시작 위치 1 2 3
31스왑 후 위치 3 2 1
23스왑 후 위치 3 1 2
31스왑 후 위치 2 1 3
32스왑 후 위치 2 3 1

 

위 표와 같이 컵의 위치를 이동 후

마지막 행의 1이 있는곳의 열번호(1의 위치에 있는 컵)를 출력

문제의 -1 출력은 있을 수 없는 일이므로 무시

 

구현

// c++

#include <iostream>

using namespace std;

int cup[3] = { 1,2,3 };

int main() {
	int m;
	cin >> m;
	while (m--) {
		int a, b;
		cin >> a >> b;
		swap(cup[a-1], cup[b-1]);
	}
	for (int i = 0; i < 3; i++) {
		if (cup[i] == 1) cout << i+1;
	}
}