※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 27111번 문제인 출입 기록이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/27111
27111번: 출입 기록
위병소에서 근무하는 헌병은 오늘 근무를 끝마치고 보안 점검을 위해 출입 기록을 살펴보던 중, 오늘 출입 기록의 일부가 누락되었다는 사실을 깨달았다! 오늘 기록된 출입 기록은 총 $N$개이며,
www.acmicpc.net
누락된 기록이 있음 보장할 수 있는 상황은 다음과 같은 세 경우이다.
1) 현재 부대 안에 있지 않아야 할 사람이 부대에서 나오는 상황 (부대에 들어가는 기록 누락)
2) 현재 부대 안에 있어야 할 사람이 부대에 들어가는 상황 (부대에서 나오는 기록 누락)
3) 출입기록이 끝났으나 부대 안에 남아있는 것으로 확인되는 사람이 있는 상황 (부대에서 나오는 기록 누락)
이와 같은 누락된 기록의 개수를 세어 문제를 해결해주자.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int N;
int arr[200001];
int ans;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N;
while (N--) {
int a, b; cin >> a >> b;
if (b) {
if (arr[a]) ans++;
else arr[a] = 1;
}
else {
if (!arr[a]) ans++;
else arr[a] = 0;
}
}
for (int a = 1; a < 200001; a++) ans += arr[a];
cout << ans;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 25375 // C++] 아주 간단한 문제 (0) | 2023.01.26 |
---|---|
[BOJ 27112 // C++] 시간 외 근무 멈춰! (0) | 2023.01.26 |
[BOJ 25373 // C++] 벼락치기 (0) | 2023.01.25 |
[BOJ 10855 // C++] Extreme Sort (0) | 2023.01.25 |
[BOJ 27258 // C++] Дроби (0) | 2023.01.24 |