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
'알고리즘 문제' 카테고리의 다른 글
[백준] 2161번 카드1 (0) | 2020.02.09 |
---|---|
[백준] 1120번 문자열 (0) | 2020.02.09 |
[프로그래머스] 2019 KAKAO BLIND RECRUITMENT 1번 문제 오픈채팅방 (0) | 2020.02.08 |
[백준] 3613번 Java vs C++ (0) | 2020.02.08 |
[백준] 10808번 알파벳 개수 (0) | 2020.02.08 |