개발일지
article thumbnail

2563번 색종이

https://www.acmicpc.net/problem/2563


#문제


#풀이

#include<iostream>
using namespace std;

int main() {

    int arr[100][100] = {}; //도화지
    int count; //색종이의 수
    int x, y; //x축 y축
    int answer = 0; //넓이

    cin >> count;
    for (int i = 0; i < count; i++) //색종이 수만큼 반복
    {
        cin >> x >> y; //색종이의 위치를 입력받음
        for (int j = x; j < x + 10; j++) //색종이의 X범위
        {
            for (int k = y; k < y + 10; k++) //색종이의 Y범위
            {
                if (arr[j][k] == 1) //도화지에 해당위치에 이미 색종이가 있다면
                    continue; //현재 for문 안에있는 코드 생략

                arr[j][k] = 1; //도화지에 색종이를 붙인 부분을 1
                answer++; //1의 수
            }
        }
    }
    cout << answer;
}

100 X 100 크기의 도화지를 arr라는 배열로 만들고 도화지에 아무것도 없으면 공백 사각형이 있으면 1로 정하여 1의 수를 구하면 색종이가 붙은 검은 영역의 넓이를 구할 수 있다.

 

#countinue

countinue는 반복문에서 빠져나오는 break와 다르게 반복문 안에서 countinue 밑에 있는 코드를 스킵한다.


#결과

2차원 배열을 활용한 문제이다.

 
profile

개발일지

@damin06

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!