알고리즘 문제풀이/백준
[백준/BOJ] 2563번 색종이 (C++)
노력의천재
2021. 9. 26. 18:09
https://www.acmicpc.net/problem/2563
색종이를 붙인 위치 x, y ~ x + 10, y + 10 영역을 2차원 배열의 좌표로 1로 만들어준다. 이 1의 개수가 전체 영역의 넓이라고 할 수 있다. 이때 중복되는 영역은 한번만 셀 수 있도록 현재 2차원 배열 좌표의 값이 1일땐 continue 처리 해준다.
#include <iostream>
#include <algorithm>
using namespace std;
int N, answer;
int map[101][101];
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> N;
for(int i = 0; i < N; i++) {
int x, y;
cin >> x >> y;
for(int a = x; a < x + 10; a++) {
for(int b = y; b < y + 10; b++) {
if(map[a][b] == 1) continue;
map[a][b] = 1;
answer++;
}
}
}
cout << answer;
}