Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool cut(int lmin, int lmax, int bmin, int bmax, int l1, int l2, int b1, int b2)
- {
- cout<<"k = "<<k<<endl;
- if(b2<=bmin || b1>=bmax || l2<=lmin || l1>=lmax /*||(b2-bmin)<512 || (b1-bmax)<512 || (l2-lmin)<512 || (l1-lmax)<512 */)
- return false;
- //if(b1 == bmin && b2 == bmax && l1 == lmin && l2 == lmax)
- if (достаточно нормально попадает)
- {
- . //я надеюсь, что ты тут запоминаешь каждый удачный результат
- //неплохо было бы еще завести переменную, которая будет хранить
- //минимальный размер клетки, в который попадает изображение
- //и обновлять его, если текущее удачное вписывание лучше, чем лучшее из предыдущих
- array[k].l1 = l1;
- array[k].l2 = l2;
- array[k].b1 = b1;
- array[k].b2 = b2;
- /* il1 = l1;
- il2 = l2;
- ib1 = b1;
- ib2 = b2;
- */ return true;
- }
- k++;
- if (cut(lmin, (lmax-lmin)/2, bmin, (bmax-bmin)/2, l1, (lmax-lmin)/2, b1, (bmax-bmin)/2) == true)
- return true;
- //аналогично с остальными тремя функциями
- //4
- cut(lmin, (lmax-lmin)/2, (bmax-bmin)/2, bmax, l1, (lmax-lmin)/2, (bmax-bmin)/2, b2); //1
- cut((lmax-lmin)/2, lmax, bmin, (bmax-bmin)/2, (lmax-lmin)/2, l2, b1, (bmax-bmin)/2); //3
- cut((lmax-lmin)/2, lmax, (bmax-bmin)/2, bmax, (lmax-lmin)/2, l2, (bmax-bmin)/2, b2); //2
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement