Advertisement
Guest User

Untitled

a guest
Apr 20th, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.12 KB | None | 0 0
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cmath>
  4. #define db double
  5. using namespace std;
  6.  
  7. int bitmap[1010][1010];
  8. int cont=0, id=0;
  9. void findBit(int inil, int inic, int l, int c){
  10.     int i, j, zero=0, one=0;
  11.     for(i=inil;i<=l;i++){
  12.         for(j=inic;j<=c;j++){
  13.             if(bitmap[i][j]==1) one++;
  14.             else zero++;
  15.         }
  16.     }
  17.     /*cout << endl << "id-> " <<  id << endl;
  18.     for(i=inil;i<=l;i++){
  19.         for(j=inic;j<=c;j++){
  20.             cout << bitmap[i][j];
  21.         }
  22.         printf("\n");
  23.     }
  24.     printf("resp->");*/
  25.     if(zero && one){
  26.         printf("D");
  27.         int lm = (inil+l)>>1;
  28.         int cm = (inic+c)>>1;
  29.         findBit(inil, inic,lm, cm);
  30.         id++;
  31.         findBit(inil, cm+1,lm, c);
  32.         id++;
  33.         findBit(lm+1, inic,l, cm);
  34.         id++;
  35.         findBit(lm+1, cm+1, l, c);
  36.         id++;
  37.         return;
  38.     }else if(one){
  39.         printf("1");
  40.         return;
  41.     }else if(zero){
  42.         printf("0");
  43.         return;
  44.     }else{
  45.         return;
  46.     }
  47. }
  48.  
  49. int main(){
  50.     int t;
  51.     scanf("%d", &t);
  52.     while(t--){
  53.         int l, c, i, j;
  54.         string s;
  55.         scanf("%d %d", &l, &c);
  56.         for(i=0;i<l;i++){
  57.             cin >> s;
  58.             for(j=0;j<c;j++){
  59.                 int conv=s[j]-'0';
  60.                 bitmap[i][j]=conv;
  61.             }
  62.         }
  63.         findBit(0,0,l-1,c-1);
  64.         printf("\n");
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement