image thumbnail
from Breaking Chocolate Bars by Krishna Lalith
Break the given Chocolate Bar with minimum number of breaks.

Update_Bar(Opt,row,col,BrBa)
function [BrBa] = Update_Bar(Opt,row,col,BrBa)

global M N;

if Opt==1, %break along row
    for jj=col-1:-1:1
        if BrBa(row,jj)==1,  
            BrBa(row,jj)=0;  
        else
            break;
        end         
    end
    
    for jj=col:2*N-1
        if BrBa(row,jj)==1,
            BrBa(row,jj)=0;  
        else
            break;
        end         
    end
end

if Opt==2, %break along col
    for ii=row-1:-1:1
        if BrBa(ii,col)==1,  
            BrBa(ii,col)=0;  
        else
            break;
        end         
    end
    
    for ii=row:2*M-1
        if BrBa(ii,col)==1,  
            BrBa(ii,col)=0;  
        else
            break;
        end         
    end
end

Contact us at files@mathworks.com