Test | Status | Code Input and Output |
---|---|---|
1 | Pass |
m=zeros(12);
m(2:end-1,2:end-1)=7;
% Games August 2013 1-Seaman
r=[0 2 2 3 1 1 1 1 2 2 5 0]';
c=[0 1 0 1 1 2 6 0 5 0 4 0];
m(2,2)=1;
m(2,6)=1;
m(4,9)=3;
tic
b=solve_battleship(m,r,c);
toc
b(b>1)=0;
b(b<0)=0;
br=sum(b,2);
bc=sum(b);
assert(isequal(r,br))
assert(isequal(c,bc))
% find battleship,cruisers,destroyers,subs
% conv2 to locate pieces
% bsh,bsv
% ch,cv,dh,dv,s
mconvsub=conv2(b,[2 2 2;2 1 2;2 2 2],'same');
subs_ptr=find(mconvsub==1); % Isolated valid subs
assert(size(subs_ptr,1)==4)
% Qty of subs_ptr must be 4
mconvBH=conv2(b,[5 5 5 5 5 5;5 1 1 1 1 5;5 5 5 5 5 5],'same');
mconvBV=conv2(b',[5 5 5 5 5 5;5 1 1 1 1 5;5 5 5 5 5 5],'same');
BS_ptr=[find(mconvBH==4);find(mconvBV==4)];
assert(size(BS_ptr,1)==1)
% Qty of BS_ptr must be 1
mconvCH=conv2(b,[5 5 5 5 5;5 1 1 1 5;5 5 5 5 5],'same');
mconvCV=conv2(b',[5 5 5 5 5;5 1 1 1 5;5 5 5 5 5],'same');
CS_ptr=[find(mconvCH==3);find(mconvCV==3)];
assert(size(CS_ptr,1)==2)
% Qty of CS_ptr must be 2
mconvDH=conv2(b,[5 5 5 5;5 1 1 5;5 5 5 5],'same');
mconvDV=conv2(b',[5 5 5 5;5 1 1 5;5 5 5 5],'same');
DS_ptr=[find(mconvDH==2);find(mconvDV==2)];
assert(size(DS_ptr,1)==3)
% Qty of DS_ptr must be 3
toc
Elapsed time is 0.019555 seconds.
Elapsed time is 0.023954 seconds.
|
2 | Pass |
m=zeros(12);
m(2:end-1,2:end-1)=7;
% December 2013 1-Seaman
r=[0 1 1 1 1 2 3 3 3 1 4 0]';
c=[0 3 2 0 1 6 0 3 1 4 0 0];
m(2,3)=1;
m(8,5)=1;
m(7,8)=6;
tic
b=solve_battleship(m,r,c);
toc
b(b>1)=0;
b(b<0)=0;
br=sum(b,2);
bc=sum(b);
assert(isequal(r,br))
assert(isequal(c,bc))
% find battleship,cruisers,destroyers,subs
% conv2 to locate pieces
% bsh,bsv
% ch,cv,dh,dv,s
mconvsub=conv2(b,[2 2 2;2 1 2;2 2 2],'same');
subs_ptr=find(mconvsub==1); % Isolated valid subs
assert(size(subs_ptr,1)==4)
% Qty of subs_ptr must be 4
mconvBH=conv2(b,[5 5 5 5 5 5;5 1 1 1 1 5;5 5 5 5 5 5],'same');
mconvBV=conv2(b',[5 5 5 5 5 5;5 1 1 1 1 5;5 5 5 5 5 5],'same');
BS_ptr=[find(mconvBH==4);find(mconvBV==4)];
assert(size(BS_ptr,1)==1)
% Qty of BS_ptr must be 1
mconvCH=conv2(b,[5 5 5 5 5;5 1 1 1 5;5 5 5 5 5],'same');
mconvCV=conv2(b',[5 5 5 5 5;5 1 1 1 5;5 5 5 5 5],'same');
CS_ptr=[find(mconvCH==3);find(mconvCV==3)];
assert(size(CS_ptr,1)==2)
% Qty of CS_ptr must be 2
mconvDH=conv2(b,[5 5 5 5;5 1 1 5;5 5 5 5],'same');
mconvDV=conv2(b',[5 5 5 5;5 1 1 5;5 5 5 5],'same');
DS_ptr=[find(mconvDH==2);find(mconvDV==2)];
assert(size(DS_ptr,1)==3)
% Qty of DS_ptr must be 3
toc
Elapsed time is 0.004658 seconds.
Elapsed time is 0.006946 seconds.
|
3 | Pass |
m=zeros(12);
m(2:end-1,2:end-1)=7;
% September 2013 1-Seaman
r=[0 1 1 2 4 1 0 2 2 5 2 0]';
c=[0 1 1 1 1 4 0 7 0 2 3 0];
m(2,8)=0;
m(8,3)=1;
m(9,6)=0;
m(5,11)=6;
tic
b=solve_battleship(m,r,c);
toc
b(b>1)=0;
b(b<0)=0;
br=sum(b,2);
bc=sum(b);
assert(isequal(r,br))
assert(isequal(c,bc))
% find battleship,cruisers,destroyers,subs
% conv2 to locate pieces
% bsh,bsv
% ch,cv,dh,dv,s
mconvsub=conv2(b,[2 2 2;2 1 2;2 2 2],'same');
subs_ptr=find(mconvsub==1); % Isolated valid subs
assert(size(subs_ptr,1)==4)
% Qty of subs_ptr must be 4
mconvBH=conv2(b,[5 5 5 5 5 5;5 1 1 1 1 5;5 5 5 5 5 5],'same');
mconvBV=conv2(b',[5 5 5 5 5 5;5 1 1 1 1 5;5 5 5 5 5 5],'same');
BS_ptr=[find(mconvBH==4);find(mconvBV==4)];
assert(size(BS_ptr,1)==1)
% Qty of BS_ptr must be 1
mconvCH=conv2(b,[5 5 5 5 5;5 1 1 1 5;5 5 5 5 5],'same');
mconvCV=conv2(b',[5 5 5 5 5;5 1 1 1 5;5 5 5 5 5],'same');
CS_ptr=[find(mconvCH==3);find(mconvCV==3)];
assert(size(CS_ptr,1)==2)
% Qty of CS_ptr must be 2
mconvDH=conv2(b,[5 5 5 5;5 1 1 5;5 5 5 5],'same');
mconvDV=conv2(b',[5 5 5 5;5 1 1 5;5 5 5 5],'same');
DS_ptr=[find(mconvDH==2);find(mconvDV==2)];
assert(size(DS_ptr,1)==3)
% Qty of DS_ptr must be 3
toc
Elapsed time is 0.002481 seconds.
Elapsed time is 0.004718 seconds.
|
Find the sum of all the numbers of the input vector
31951 Solvers
27989 Solvers
15296 Solvers
235 Solvers
1424 Solvers
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!