-
백준 1547번: 공시뮬레이션(Simulation) 2020. 2. 6. 16:55반응형
https://www.acmicpc.net/problem/1547
1547번: 공
첫째 줄에 컵의 위치를 바꾼 횟수 M이 주어지며, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 컵의 위치를 바꾼 방법 X와 Y가 주어지며, X번 컵과 Y번 컵의 위치를 서로 바꾸는 것을 의미한다. 컵을 이동시키는 중에 공이 컵에서 빠져나오는 경우는 없다. X와 Y의 값은 3보다 작거나 같고, X와 Y가 같을 수도 있다.
www.acmicpc.net
swap 을 사용하여 현재 공이 있는 위치를 찾는 문제
키워드 - 구현, 시뮬레이션
Source
#include <iostream> #include <sstream> #include <string> #include <algorithm> #include <functional> #include <vector> #include <list> #include <queue> #include <deque> #include <map> #include <set> #include <stack> #include <cstring> using namespace std; #define MAX_SIZE 100 #define INF 0x7fffffff #define CENDL "\n" #define ll long long /* * @memory - 2056 kb * @time - 0 ms */ int cup[4] = {0,1,0,0}; int main() { cin.tie(0); std::ios::sync_with_stdio(false); int n; cin >> n; for (int i=0; i<n; i++) { int x, y; cin >> x >> y; if(x != y) swap(cup[x], cup[y]); } // N 만큼 비교를 하는 것이 아니라 cup 의 개수 만큼만 비교한다. for (int i=1; i<=4; i++) { if (cup[i]) { cout << i << CENDL; break; } } return 0; }
반응형'시뮬레이션(Simulation)' 카테고리의 다른 글
백준 1526번: 가장 큰 금민수 (0) 2018.07.19