Cody

Problem 44769. Lights Out 14 - 5x5, four stages, x moves

Solution 1881996

Submitted on 23 Jul 2019
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Fail
board = [1 1 0 0 3 1 0 0 3 3 0 0 0 0 3 0 0 2 0 0 0 2 2 2 0]; moves = lights_out_14(board); % [1 1 1 15 15 22] b1 = diag(ones(1,5),0) + diag(ones(1,4),1) + diag(ones(1,4),-1); b2 = eye(5); b3 = zeros(5); b_map = [b1,b2,b3,b3,b3;b2,b1,b2,b3,b3;b3,b2,b1,b2,b3;b3,b3,b2,b1,b2;b3,b3,b3,b2,b1]; for i = 1:numel(moves) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress end assert(sum(abs(board(:)))==0)

[Warning: Function assert has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In unix (line 32) In lights_out_14 (line 2) In ScoringEngineTestPoint1 (line 6) In solutionTest (line 3)]

Index in position 1 is invalid. Array indices must be positive integers or logical values. Error in Test1 (line 10) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress

2   Fail
board = [0 3 2 0 0 3 1 2 0 0 3 1 2 0 0 3 1 2 0 0 0 3 2 0 0]; moves = lights_out_14(board); % [1:10 6:10] b1 = diag(ones(1,5),0) + diag(ones(1,4),1) + diag(ones(1,4),-1); b2 = eye(5); b3 = zeros(5); b_map = [b1,b2,b3,b3,b3;b2,b1,b2,b3,b3;b3,b2,b1,b2,b3;b3,b3,b2,b1,b2;b3,b3,b3,b2,b1]; for i = 1:numel(moves) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress end assert(sum(abs(board(:)))==0)

[Warning: Function assert has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In unix (line 32) In lights_out_14 (line 2) In ScoringEngineTestPoint2 (line 6) In solutionTest (line 5)]

Index in position 1 is invalid. Array indices must be positive integers or logical values. Error in Test2 (line 10) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress

3   Fail
board = [1 3 0 3 1 3 2 3 2 3 0 3 3 3 0 3 2 3 2 3 1 3 0 3 1]; moves = lights_out_14(board); % [1 1 1 5 5 5 7 7 9 9 13 17 17 19 19 21 21 21 25 25 25] b1 = diag(ones(1,5),0) + diag(ones(1,4),1) + diag(ones(1,4),-1); b2 = eye(5); b3 = zeros(5); b_map = [b1,b2,b3,b3,b3;b2,b1,b2,b3,b3;b3,b2,b1,b2,b3;b3,b3,b2,b1,b2;b3,b3,b3,b2,b1]; for i = 1:numel(moves) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress end assert(sum(abs(board(:)))==0)

[Warning: Function assert has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In unix (line 32) In lights_out_14 (line 2) In ScoringEngineTestPoint3 (line 6) In solutionTest (line 7)]

Index in position 1 is invalid. Array indices must be positive integers or logical values. Error in Test3 (line 10) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress

4   Fail
board = [2 1 1 1 2 1 2 3 2 1 1 3 0 3 1 1 2 3 2 1 2 1 1 1 2]; moves = lights_out_14(board); % [6:10 16:20 2:5:22 4:5:24] b1 = diag(ones(1,5),0) + diag(ones(1,4),1) + diag(ones(1,4),-1); b2 = eye(5); b3 = zeros(5); b_map = [b1,b2,b3,b3,b3;b2,b1,b2,b3,b3;b3,b2,b1,b2,b3;b3,b3,b2,b1,b2;b3,b3,b3,b2,b1]; for i = 1:numel(moves) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress end assert(sum(abs(board(:)))==0)

[Warning: Function assert has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In unix (line 32) In lights_out_14 (line 2) In ScoringEngineTestPoint4 (line 6) In solutionTest (line 9)]

Index in position 1 is invalid. Array indices must be positive integers or logical values. Error in Test4 (line 10) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress

5   Fail
board = [1 0 3 1 3 2 2 2 3 2 0 2 3 1 2 0 0 0 1 0 3 2 1 2 1]; moves = lights_out_14(board); % [2 4 4 4:7 6 10:13 12 17:21 18:20 19 25] b1 = diag(ones(1,5),0) + diag(ones(1,4),1) + diag(ones(1,4),-1); b2 = eye(5); b3 = zeros(5); b_map = [b1,b2,b3,b3,b3;b2,b1,b2,b3,b3;b3,b2,b1,b2,b3;b3,b3,b2,b1,b2;b3,b3,b3,b2,b1]; for i = 1:numel(moves) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress end assert(sum(abs(board(:)))==0)

[Warning: Function assert has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In unix (line 32) In lights_out_14 (line 2) In ScoringEngineTestPoint5 (line 6) In solutionTest (line 11)]

Index in position 1 is invalid. Array indices must be positive integers or logical values. Error in Test5 (line 10) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress

6   Fail
board = [0 2 0 1 0 2 2 3 1 1 0 3 0 3 0 1 1 3 2 2 0 1 0 2 0]; moves = lights_out_14(board); % [7 7 9 9 9 17 17 17 19 19] b1 = diag(ones(1,5),0) + diag(ones(1,4),1) + diag(ones(1,4),-1); b2 = eye(5); b3 = zeros(5); b_map = [b1,b2,b3,b3,b3;b2,b1,b2,b3,b3;b3,b2,b1,b2,b3;b3,b3,b2,b1,b2;b3,b3,b3,b2,b1]; for i = 1:numel(moves) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress end assert(sum(abs(board(:)))==0)

[Warning: Function assert has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In unix (line 32) In lights_out_14 (line 2) In ScoringEngineTestPoint6 (line 6) In solutionTest (line 13)]

Index in position 1 is invalid. Array indices must be positive integers or logical values. Error in Test6 (line 10) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress

7   Fail
board = [0 3 1 3 0 0 2 2 2 0 0 1 1 1 0 0 2 2 2 0 0 3 1 3 0]; moves = lights_out_14(board); % [11:15 12:14 13] b1 = diag(ones(1,5),0) + diag(ones(1,4),1) + diag(ones(1,4),-1); b2 = eye(5); b3 = zeros(5); b_map = [b1,b2,b3,b3,b3;b2,b1,b2,b3,b3;b3,b2,b1,b2,b3;b3,b3,b2,b1,b2;b3,b3,b3,b2,b1]; for i = 1:numel(moves) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress end assert(sum(abs(board(:)))==0)

[Warning: Function assert has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In unix (line 32) In lights_out_14 (line 2) In ScoringEngineTestPoint7 (line 6) In solutionTest (line 15)]

Index in position 1 is invalid. Array indices must be positive integers or logical values. Error in Test7 (line 10) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress

8   Fail
board = [3 1 0 0 0 1 2 3 0 0 0 3 1 3 0 0 0 3 2 1 0 0 0 1 3]; moves = lights_out_14(board); % [1 7 7 13 13 13 19 19 25] b1 = diag(ones(1,5),0) + diag(ones(1,4),1) + diag(ones(1,4),-1); b2 = eye(5); b3 = zeros(5); b_map = [b1,b2,b3,b3,b3;b2,b1,b2,b3,b3;b3,b2,b1,b2,b3;b3,b3,b2,b1,b2;b3,b3,b3,b2,b1]; for i = 1:numel(moves) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress end assert(sum(abs(board(:)))==0)

[Warning: Function assert has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In unix (line 32) In lights_out_14 (line 2) In ScoringEngineTestPoint8 (line 6) In solutionTest (line 17)]

Index in position 1 is invalid. Array indices must be positive integers or logical values. Error in Test8 (line 10) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress

9   Fail
board = [1 2 1 2 1 3 0 1 0 3 3 2 0 2 2 2 2 3 0 1 1 3 0 2 3]; moves = lights_out_14(board); % on your own b1 = diag(ones(1,5),0) + diag(ones(1,4),1) + diag(ones(1,4),-1); b2 = eye(5); b3 = zeros(5); b_map = [b1,b2,b3,b3,b3;b2,b1,b2,b3,b3;b3,b2,b1,b2,b3;b3,b3,b2,b1,b2;b3,b3,b3,b2,b1]; for i = 1:numel(moves) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress end assert(sum(abs(board(:)))==0)

[Warning: Function assert has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In unix (line 32) In lights_out_14 (line 2) In ScoringEngineTestPoint9 (line 6) In solutionTest (line 19)]

Index in position 1 is invalid. Array indices must be positive integers or logical values. Error in Test9 (line 10) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress

10   Fail
board = [1 1 0 0 0 3 2 2 0 0 1 1 3 2 0 0 2 1 2 1 0 0 1 3 1]; moves = lights_out_14(board); b1 = diag(ones(1,5),0) + diag(ones(1,4),1) + diag(ones(1,4),-1); b2 = eye(5); b3 = zeros(5); b_map = [b1,b2,b3,b3,b3;b2,b1,b2,b3,b3;b3,b2,b1,b2,b3;b3,b3,b2,b1,b2;b3,b3,b3,b2,b1]; for i = 1:numel(moves) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress end assert(sum(abs(board(:)))==0)

[Warning: Function assert has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In unix (line 32) In lights_out_14 (line 2) In ScoringEngineTestPoint10 (line 6) In solutionTest (line 21)]

Index in position 1 is invalid. Array indices must be positive integers or logical values. Error in Test10 (line 10) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress

11   Fail
board = [3 2 3 3 0 3 1 2 2 3 3 0 1 0 2 2 3 3 3 1 3 1 2 2 3]; moves = lights_out_14(board); b1 = diag(ones(1,5),0) + diag(ones(1,4),1) + diag(ones(1,4),-1); b2 = eye(5); b3 = zeros(5); b_map = [b1,b2,b3,b3,b3;b2,b1,b2,b3,b3;b3,b2,b1,b2,b3;b3,b3,b2,b1,b2;b3,b3,b3,b2,b1]; for i = 1:numel(moves) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress end assert(sum(abs(board(:)))==0)

[Warning: Function assert has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In unix (line 32) In lights_out_14 (line 2) In ScoringEngineTestPoint11 (line 6) In solutionTest (line 23)]

Index in position 1 is invalid. Array indices must be positive integers or logical values. Error in Test11 (line 10) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress

12   Fail
board = [1 2 3 0 1 1 2 1 1 2 1 0 2 0 0 1 0 0 0 0 0 3 2 2 0]; moves = lights_out_14(board); b1 = diag(ones(1,5),0) + diag(ones(1,4),1) + diag(ones(1,4),-1); b2 = eye(5); b3 = zeros(5); b_map = [b1,b2,b3,b3,b3;b2,b1,b2,b3,b3;b3,b2,b1,b2,b3;b3,b3,b2,b1,b2;b3,b3,b3,b2,b1]; for i = 1:numel(moves) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress end assert(sum(abs(board(:)))==0)

[Warning: Function assert has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In unix (line 32) In lights_out_14 (line 2) In ScoringEngineTestPoint12 (line 6) In solutionTest (line 25)]

Index in position 1 is invalid. Array indices must be positive integers or logical values. Error in Test12 (line 10) board = mod(board + reshape(b_map(moves(i),:),[5,5]),4); %remove semicolon to display progress