Computer Science/Algorithm Problem

백준] 1547 - 공

TwinParadox 2018. 1. 20. 16:48

시간 제한 : 2초

메모리 제한 : 128MB




입력

첫째 줄에 컵의 위치를 바꾼 횟수 M이 주어지며, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 컵의 위치를 바꾼 방법 X와 Y가 주어지며, X번 컵과 Y번 컵의 위치를 서로 바꾸는 것을 의미한다.


컵을 이동시키는 중에 공이 컵에서 빠져나오는 경우는 없다. X와 Y의 값은 3보다 작거나 같고, X와 Y가 같을 수도 있다.




출력

첫째 줄에 공이 들어있는 컵의 번호를 출력한다. 공이 사라져서 컵 밑에 없는 경우에는 -1을 출력한다.




소스코드

#include <iostream>
using namespace std;
int main(void)
{
	int m, loc = 1, x, y;
	cin >> m;
	while (m--)
	{
		cin >> x >> y;
		if (x == loc)
			loc = y;
		else if (y == loc)
			loc = x;
	}
	cout << loc;
}




Tip

단순 시뮬레이션 문제로, SWAP 함수를 구현할 필요도 없다. 여기서 출력부에 있는 공이 사라지는 경우는 절대 없다는 걸 명심하자.


728x90