Untitled

mail@pastecode.io avatarunknown
plain_text
2 months ago
1.2 kB
0
Indexable
Never
#include <iostream>

using namespace std;
int check(int start1,int start2, int end1, int end2, int arr[128][128], int sumb){
	int x = sumb;
	if(start1 < end1-1){
		for (int i = start1;i< end1;i++){
			for (int j = start2;j< end2;j++){
				if(arr[i][j]!=x){
					return check(start1,start2,start1+(end1-start1)/2,start2+(end2-start2)/2,arr,sumb)+check(start1+(end1-start1)/2,start2,end1,start2+(end2-start2)/2,arr,sumb)+check(start1,start2+(end2-start2)/2,start1+(end1-start1)/2,end2,arr,sumb)+check(start1+(end1-start1)/2,start2+(end2-start2)/2,end1,end2,arr,sumb);
				}
			}
		}
	}
	if( start1 >= end1-1 && arr[0][0] != x) return 0;
	return 1;
}
int main()
{
	freopen("input.txt","r",stdin);
	int T;
	cin >> T;
	for(int TestCase=0; TestCase<T; TestCase++)
	{
		int size;
		cin >> size;
		int arr[128][128];
		for(int i = 0;i<size;i++){
			for(int j = 0;j<size;j++){
				cin >> arr[i][j];
			}
		}
		int start1 = 0;
		int start2 = 0;
		int end1 = size;
		int end2 = size;
		int sumw = 0;
		int sumb = 1;

		cout <<"#" << TestCase +1 << " " << check(start1,start2,end1,end2,arr,sumw) << " " << check(start1,start2,end1,end2,arr,sumb) << endl;
	}
	return 0;
}