Untitled

 avatar
unknown
plain_text
2 years ago
920 B
7
Indexable
#include<iostream>
using namespace std;

int ans1;
int ans0;
int a[1000][1000];
int N;

void Try(int x, int y, int len){
	int num0 = 0;
	int num1 = 0;
	for (int i = x; i < x+len; i++){
		for (int j = y; j < y+len; j++){
			if(a[i][j] == 0) num0++;
			if(a[i][j] == 1) num1++;
		}
	}

	if (num0 > 0 && num1==0){
		ans0++;
		return;
	}

	else if (num1 > 0 && num0==0){
		ans1++;
		return;
	}

	Try(x,y,len/2);
	Try(x,y+len/2,len/2);
	Try(x+len/2,y,len/2);
	Try(x+len/2,y+len/2,len/2);
}

int main(){
	freopen("input.txt", "r", stdin);

	int T; cin >> T;
	for (int tc = 1; tc <= T; tc++){
		cin >> N;
		for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) cin >> a[i][j];  

		ans1 = 0;
		ans0 = 0;
		
		Try(0,0,N/2);
		Try(0,N/2,N/2);
		Try(N/2,0,N/2);
		Try(N/2,N/2,N/2);
	
		cout << "Case #" << tc << endl;
		cout << ans0 << " " << ans1 << endl;
	}

	return 0;
}
Editor is loading...