소의 위치를 N번 관찰하는데 이 관찰 결과로 알 수 있는 소의 위치변화의 최소 횟수를 출력하는 문제다.
해법
관찰 결과를 통해 변화를 확정할 수 있는 경우는 이전에 관찰을 했던 소이면서 다음에 관찰했을 때 위치가 바뀐 경우이다.
따라서 처음 관찰한 경우는 위치이동이라 확정할 수 없고 그 후에 이동이 관찰된 경우에만 ans++ 해준다.
#include <iostream> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(0); int n, c[10] = { 0, }, ans = 0; for (int i = 0; i < 10; ++i) c[i] = -1; cin >> n; while (n--) { int a, b; cin >> a >> b; a--; if (c[a] == -1) { c[a] = b; } else if (c[a] != b) { c[a] = b; ans++; } } cout << ans; return 0; } | cs |
'BOJ' 카테고리의 다른 글
14469 소가 길을 건너간 이유 3 (0) | 2018.11.10 |
---|---|
14468 소가 길을 건너간 이유 2 (0) | 2018.11.10 |
14175 The Cow-Signal (0) | 2018.11.10 |
14174 Block Game (0) | 2018.11.10 |
14173 Square Pasture (0) | 2018.11.10 |