백준 2563번: 색종이 링크
https://www.acmicpc.net/problem/2563
문제를 풀기 전 생각한 것
어떤 방식으로 풀어야 할지 감이 잡히지 않았다.
색종이 개수 * 100을 한 후 겹치는 부분만 빼려고 했었다.
풀면서 어려웠던 점
처음 생각한 방식으로 풀려고 노력했지만 풀 수 없었다.
도화지 전체를 0으로 두고 색종이를 놓으면 1로 바뀌는 방법을 생각했다.
코드
#include <stdio.h>
int main(void)
{
int wpaper[100][100] = {0,};
int many, left, under;
int count = 0;
scanf("%d", &many);
for (int i = 0; i < many; i++){
scanf("%d %d", &left, &under);
for (int j = 100 - (under+10); j < 100 - under; j++){
for (int k = left; k < left + 10; k++){
wpaper[j][k] = 1;
}
}
}
for (int i = 0; i < 100; i++){
for (int j = 0; j < 100; j++){
if (wpaper[i][j] == 1) count++;
}
}
printf("%d", count);
return 0;
}
풀면서 배운 점
문제를 보고 생각할 때 수식으로 생각하지 말고 조금 더 유연하게 생각하는 법을 배웠다.
반응형