문제 이름 : 색종이
문제 번호 : 2563
사용 언어 : C
문제 유형 : 구현
문제는 다음과 같다.
문제를 풀어보도록 하자.
이 문제를 풀 때 있어서의 핵심 아이디어는, 0으로 꽉 채운 배열에 색종이가 올려진 부분들을 1로 바꾸어 준뒤 1의 개수를 세면 된다!
따라서 코드는 다음과 같다.
#define _CRT_SECURE_NO_WARNINGS
#include < stdio.h>
int main() {
int pan[100][100] = { 0, }; #0으로 채워진 2차원 배열
int n, r, h;
int cnt = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d %d", &r, &h);
for (int m = 100 - (h + 10); m < 100 - h; m++) { #색종이가 올라간 부분의 값을 1로 바꾸어 주는 중
for (int k = r; k < r + 10; k++) {
pan[m][k] = 1;
}
}
}
for (int i = 0; i < 100; i++) { #1의 개수 세기
for (int j = 0; j < 100; j++) {
if (pan[i][j] == 1)
cnt++;
}
}
printf("%d", cnt);
return 0;
}
'코딩 > 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 저항(1076번) C로풀기 (0) | 2020.02.05 |
---|---|
[백준 알고리즘] 플러그(2010번) C로풀기 (0) | 2020.02.03 |
[백준 알고리즘] 방 번호(1475번) C로풀기 (0) | 2020.02.01 |
[백준 알고리즘] 앵그리 창영(3034번) C로풀기 (0) | 2020.01.31 |
[백준 알고리즘] 설탕 배달(2839번) C로풀기 (0) | 2020.01.29 |