Advertisement
4da

cut function

4da
Sep 21st, 2011
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.57 KB | None | 0 0
  1. bool cut(int lmin, int lmax, int bmin, int bmax, int l1, int l2, int b1, int b2)
  2. {
  3.     cout<<"k = "<<k<<endl;
  4.     if(b2<=bmin || b1>=bmax || l2<=lmin || l1>=lmax /*||(b2-bmin)<512 || (b1-bmax)<512 || (l2-lmin)<512 || (l1-lmax)<512 */)
  5.         return false;
  6.  
  7.     //if(b1 == bmin && b2 == bmax && l1 == lmin && l2 == lmax)
  8.     if (достаточно нормально попадает)
  9.     {
  10.               . //я надеюсь, что ты тут запоминаешь каждый удачный результат
  11.                 //неплохо было бы еще завести переменную, которая будет хранить
  12.                 //минимальный размер клетки, в который попадает изображение
  13.                 //и обновлять его, если текущее удачное вписывание лучше, чем лучшее из предыдущих
  14.  
  15.  
  16.         array[k].l1 = l1;
  17.         array[k].l2 = l2;
  18.         array[k].b1 = b1;
  19.         array[k].b2 = b2;
  20.  
  21.            
  22.     /*  il1 = l1;
  23.         il2 = l2;
  24.         ib1 = b1;
  25.         ib2 = b2;
  26.     */  return true;
  27.     }
  28.     k++;
  29.    
  30.     if (cut(lmin, (lmax-lmin)/2, bmin, (bmax-bmin)/2, l1, (lmax-lmin)/2, b1, (bmax-bmin)/2) == true)
  31.              return true;
  32.  
  33.     //аналогично с остальными тремя функциями
  34.    
  35.         //4
  36.     cut(lmin, (lmax-lmin)/2, (bmax-bmin)/2, bmax, l1, (lmax-lmin)/2, (bmax-bmin)/2, b2);        //1
  37.     cut((lmax-lmin)/2, lmax, bmin, (bmax-bmin)/2, (lmax-lmin)/2, l2, b1, (bmax-bmin)/2);        //3
  38.     cut((lmax-lmin)/2, lmax, (bmax-bmin)/2, bmax, (lmax-lmin)/2, l2, (bmax-bmin)/2, b2);        //2
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement