반응형
문제 : 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;
}
}
최근댓글