ID:45672
Title:All Connected...
Author:Leandro Giovanni Barajas
Date:2008-04-30 16:28:21
Score:40945.2823
Result:409427.00 (cyc: 2, node: 256)
CPU Time:2.2671
Status:Passed
Comments:Connect only highest one...
Based on:none
Code:
function W = solver(B)
% Leandro G. Barajas
% Simple solver, no routing

[Brows Bcols] = size(B);

%Get Rows
r1 = repmat([1:Brows],Bcols-1,1);
r1 = r1(:);

c1 = repmat([1:Bcols-1],Brows,1)';
c1 = c1(:);

r2 = r1;
c2 = c1+1;

Wh = [r1 c1 r2 c2];

%Get Cols

r1 = repmat([1:Brows-1],Bcols,1);
r1 = r1(:);

c1 = repmat([1:Bcols],Brows-1,1)';
c1 = c1(:);

r2 = r1+1;
c2 = c1 ;

Wv = [r1 c1 r2 c2];
   
maxpad = max(B(:));

[Bi Bj] = find(B == maxpad);
[Ni Nj] = find(B >0 & B ~= maxpad);
Np = [Ni Nj];

W = [Wh ; Wv];

Ndel =zeros(size(W,1), size(Np,1));
for i = 1:size(Np,1)
    Ndel(:,i) = all(W(:,1:2)==repmat(Np(i,:),size(W,1),1),2) | all(W(:,3:4)==repmat(Np(i,:),size(W,1),1),2);
end
Ndel = any(Ndel,2);

W(Ndel,:) = [];