JXNVCE ALGO-LOG YouJin Jung

BOJ-2630

정답률이 무려 70%가 넘는 분할정복 문제! 사실 난 쉽지 않았는데 왜 이렇게 다들 잘 하는거야…. 😨😨

#include <iostream>

using namespace std;

int map[129][129] = {0};
int white, blue = 0;

void solve(int x, int y, int size) {
    int check = map[x][y];
    for (int i=x; i<x+size; i++)
        for (int j=y; j<y+size; j++) {
            if (check == 0 && map[i][j] == 1) check = 2;
            if (check == 1 && map[i][j] == 0) check = 2;
            if (check == 2) {
                solve(x, y, size/2);
                solve(x, y+size/2, size/2);
                solve(x+size/2, y, size/2);
                solve(x+size/2, y+size/2, size/2);
                return;
            }
        }
    if (check == 0) white+=1;
    if (check == 1) blue +=1;    
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);

    int N; cin >> N;
    if (N!=2 && N!=4 && N!=8 && N!=16 && N!=32 && N!=64 && N!=128) return 0;
    for (int i=0; i<N; i++) 
        for (int j=0; j<N; j++)
            cin >> map[i][j];

    solve(0, 0, N);
    cout << white << "\n" << blue << "\n";
}

image

해커톤 준비하고 pr, 커밋, 브랜치 망치는 바람에 허버허버 헤매다가 겨우 끝내고 한시반이 되어서야 시작….. 내일 또 출근이라 일찍 일어나야해서…… 정답률 높은 문제로 골라서 풀었다