반응형
출처: 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 |
댓글