일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 텍스트 관련 태그들
- 건전한 취미생활
- 알고리즘
- HTML
- A - B
- 단계별로풀어보기
- C언어
- 연결리스트
- 구현
- 날씨
- 취미생활
- c++
- 원소 삭제
- 백준
- 독학
- 과제
- 원소 추가
- 건전한
- *Luna
- 텍스트 관련
- 학습생활
- 메일
- 프로젝트
- CSS
- Python
- VOCALOID
- GUI
- A×B
- PyQT5
- OSAM
- Today
- Total
언유상씨의 건전한 취미생활
[백준 알고리즘] 색종이(2563번) C로풀기 본문
문제 이름 : 색종이
문제 번호 : 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 |