Untitled
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; }