문제링크 : https://www.acmicpc.net/problem/14594
14594번: 동방 프로젝트 (Small)
첫 번째 행동으로 1번과 2번 방이 합쳐져 (1, 2), (3), (4), (5) 상태가 된다. 이후 두 번째 행동으로 2, 3, 4번 방이 합쳐져 (1, 2, 3, 4), (5)의 상태가 된다. 따라서 남아있는 동방의 수는 2가 된다.
www.acmicpc.net
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define MAX 987654321
#define pii pair <int, int>
int main(void) {
ios_base::sync_with_stdio(false);
cin.tie(0);
int N, M;
cin >> N;
cin >> M;
int arr[100];
memset(arr, 0, sizeof(arr));
int cnt = 0;
for(int i=0; i<M; i++)
{
int x, y;
cin >> x >> y;
for(int j=x-1; j<y-1; j++)
{
arr[j]=1;
}
}
for(int i=0; i<N; i++)
{
if(arr[i]==0)
{
cnt++; //벽의 수
}
}
cout << cnt;
return 0;
}
처음에 배열을 0으로 초기화한 후에 방일때는 1을 할당했다.
이때 y-1 전까지만 1로 할당하여 뒤에 벽을 체크해줬다.
0인 것은 벽의 갯수이므로 0의 갯수를 카운트하여 출력했다.
'백준 > 실버' 카테고리의 다른 글
[백준 17419번] 비트가 넘쳐흘러 (C++) (0) | 2023.04.04 |
---|---|
[백준 2910번] 빈도 정렬 (C++) (0) | 2023.04.02 |
[백준 16931번] 겉넓이 구하기 (C++) (0) | 2023.03.29 |
[백준 15989번] 1, 2, 3 더하기 4 (C++) (0) | 2023.03.28 |
[백준 9657번] 돌 게임 3 (C++) (0) | 2023.03.25 |