백준

백준 2563번: 색종이 (C언어)

NamDoHyeon 2023. 6. 29. 22:58

백준 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;
}

풀면서 배운 점

문제를 보고 생각할 때 수식으로 생각하지 말고 조금 더 유연하게 생각하는 법을 배웠다.

반응형