서의 공간

[백준] 2630_색종이 만들기 본문

Algorithm/백준

[백준] 2630_색종이 만들기

홍서의 2021. 1. 3. 23:39
#include <iostream>
#include <utility>
using namespace std;

bool paper[130][130];
int w = 0, b = 0;

void DQ(int y, int x, int size)
{
	bool cur = paper[y][x];

	for (int i = y; i < y + size; ++i) {
		for (int j = x; j < x + size; ++j) {
			if (paper[i][j] != cur) {
				DQ(y, x, size / 2);
				DQ(y + size / 2, x, size / 2);
				DQ(y, x + size / 2, size / 2);
				DQ(y + size / 2, x + size / 2, size / 2);
				return;
			}
		}
	}
	if (cur == 0) w++;
	else b++;
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);

	int N;
	cin >> N;
	for (int i = 0; i < N; ++i)
		for (int j = 0; j < N; ++j)
			cin >> paper[i][j];

	DQ(0, 0, N);
	cout << w << '\n' << b;
	
	system("pause");
	return 0;
}

'Algorithm > 백준' 카테고리의 다른 글

[백준] 1012_유기농 배추  (0) 2021.01.05
[백준] 10757_큰 수 A+B  (0) 2021.01.03
[백준] 9375_패션왕 신해빈  (0) 2021.01.03
[백준] 1316_그룹 단어 체커  (0) 2020.12.30
[백준] 2941_크로아티아 알파벳  (0) 2020.12.30
Comments