티스토리 뷰

카테고리 없음

1671 색종이(중) (정올)

rectified 2024. 12. 8. 10:40

 

풀이과정

 

i+1 j+1 할때 Out of bound 에러 조심, 이 문제에서는 나지 않았지만 언제든 날수있음

 

코드

#include <iostream>
using namespace std;

int main(){

    int n;
    int x, y;
    cin >> n;
    int c = 0;
    bool p[102][102] = {};

    for (int i = 0; i < 100; i++){
        for (int j = 0; j < 100; j++){
            p[i][j] = 0;
    }
}

while (n--){
        cin >> x >> y;
    for (int i = y; i < y + 10; i++){
        for (int j = x; j < x + 10; j++){
            p[i][j] = 1;
        }
    }
}

    for (int i = 0; i < 100; i++){
        for (int j = 0; j < 100; j++){
            if (p[i][j] != p[i+1][j]){
                c++;
        }
    }
    }
    for (int i = 0; i < 100; i++){
        for (int j = 0; j < 100; j++){
            if (p[i][j] != p[i][j+1]){
                c++;
        }
    }
}
 cout << c;
}

 

모든 영역 0으로 초기화하고 해당되는 부분만 1로 체크하는 테크닉 중요함.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함