본문 바로가기
PS 문제 풀이/Baekjoon

[BOJ] 백준 2567 색종이 - 2

by 까망 하르방 2021. 2. 17.
반응형

출처: https://www.acmicpc.net/problem/2567

 Input 

4

3 7

5 2

15 7

13 14

  

 Output 

96

먼저 색종이가 덮어지는 영역을 『1』 로 표시합니다.

▶둘레를 구하기 위해서 표시한 『1』의 상하좌우를 확인합니다.

①의 경우 오른쪽이 비어져 있으므로 둘레에 해당됩니다. → +1

②의 경우 상하좌우가 채워져 있으므로 둘레에 해당되지 않습니다. → +0

③의 경우 아래쪽, 오른쪽이 비어져 있으므로 둘레에 해당됩니다. → +2


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int N, answer, board[101][101], nextX, nextY;
int dx[] = { 0, 0, -1, 1 };
int dy[] = { -1, 1, 0, 0 };
 
void pastePaper(int x, int y) {
    for (int i = x; i < x + 10; i++) {
        for (int j = y; j < y + 10; j++) {
            board[i][j] = 1;
        }
    }
}
 
int main(void) {
    // freopen("input.txt", "r", stdin);
    scanf("%d", &N);
 
    int x, y;
    for (int i = 1; i <= N; ++i) {
        scanf("%d %d", &x, &y);
        pastePaper(x, y);
    }
 
    int i, j, k;
    for (i = 1; i <= 100; ++i) {
        for (j = 1; j <= 100; ++j) {
            if (board[i][j] == 1) {
                for (k = 0; k < 4; ++k) {
                    nextX = i + dx[k];
                    nextY = j + dy[k];
                    if (board[nextX][nextY] == 0) answer++;
                }
            }
        }
    }
 
    printf("%d", answer);
}

 

반응형

'PS 문제 풀이 > Baekjoon' 카테고리의 다른 글

[BOJ] 백준 10798 세로읽기  (0) 2021.02.17
[BOJ] 백준 2526 싸이클  (0) 2021.02.17
[BOJ] 백준 7575 바이러스  (0) 2021.02.17
[BOJ] 백준 10840 구간성분  (0) 2021.02.17
[BOJ] 백준 15920 선로에 마네킹이야!!  (0) 2021.02.17

댓글