Cody

Solution 1322540

Submitted on 1 Nov 2017 by Daniel Meier
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   Pass
n = 1; s_correct = 1; q_correct = 1; [s, q] = nqueens(n); assert(isequal(s,s_correct) && isequal(sortrows(q),sortrows(q_correct)))

2   Pass
n = 2; s_correct = 0; [s, q] = nqueens(n); assert(isequal(s,s_correct) && isempty(q))

3   Pass
n = 3; s_correct = 0; [s, q] = nqueens(n); assert(isequal(s,s_correct) && isempty(q))

4   Pass
n = 4; s_correct = 2; q_correct = [3 1 4 2;2 4 1 3] [s, q] = nqueens(n); assert(isequal(s,s_correct) && isequal(sortrows(q),sortrows(q_correct)))

q_correct = 3 1 4 2 2 4 1 3

5   Pass
n = 5; s_correct = 10; q_correct = [5 3 1 4 2;5 2 4 1 3;4 2 5 3 1;4 1 3 5 2;3 5 2 4 1;3 1 4 2 5;2 4 1 3 5;2 5 3 1 4;1 4 2 5 3;1 3 5 2 4]; [s, q] = nqueens(n); assert(isequal(s,s_correct) && isequal(sortrows(q),sortrows(q_correct)))

6   Pass
n = 6; s_correct = 4; q_correct = [5 3 1 6 4 2;4 1 5 2 6 3;3 6 2 5 1 4;2 4 6 1 3 5]; [s, q] = nqueens(n); assert(isequal(s,s_correct) && isequal(sortrows(q),sortrows(q_correct)))

7   Pass
n = 7; s_correct = 40; q_correct = [7 5 3 1 6 4 2;7 4 1 5 2 6 3;7 3 6 2 5 1 4;7 2 4 6 1 3 5;6 4 7 1 3 5 2;6 4 2 7 5 3 1;6 3 5 7 1 4 2;6 3 7 4 1 5 2;6 3 1 4 7 5 2;6 2 5 1 4 7 3;6 1 3 5 7 2 4;5 7 2 4 6 1 3;5 7 2 6 3 1 4;5 3 1 6 4 2 7;5 2 6 3 7 4 1;5 1 4 7 3 6 2;5 1 6 4 2 7 3;4 6 1 3 5 7 2;4 7 5 2 6 1 3;4 7 3 6 2 5 1;4 2 7 5 3 1 6;4 1 5 2 6 3 7;4 1 3 6 2 7 5;3 6 2 5 1 4 7;3 5 7 2 4 6 1;3 7 4 1 5 2 6;3 7 2 4 6 1 5;3 1 6 4 2 7 5;3 1 6 2 5 7 4;2 6 3 7 4 1 5;2 5 3 1 7 4 6;2 5 7 4 1 3 6;2 5 1 4 7 3 6;2 4 6 1 3 5 7;2 4 1 7 5 3 6;2 7 5 3 1 6 4;1 6 4 2 7 5 3;1 5 2 6 3 7 4;1 4 7 3 6 2 5;1 3 5 7 2 4 6]; [s, q] = nqueens(n); assert(isequal(s,s_correct) && isequal(sortrows(q),sortrows(q_correct)))

8   Pass
n = 8; s_correct = 92; q_correct = [8 4 1 3 6 2 7 5 8 3 1 6 2 5 7 4;8 2 5 3 1 7 4 6;8 2 4 1 7 5 3 6;7 5 3 1 6 8 2 4;7 4 2 5 8 1 3 6;7 4 2 8 6 1 3 5;7 3 8 2 5 1 6 4;7 3 1 6 8 5 2 4;7 2 6 3 1 4 8 5;7 2 4 1 8 5 3 6;7 1 3 8 6 4 2 5;6 8 2 4 1 7 5 3;6 4 7 1 8 2 5 3;6 4 7 1 3 5 2 8;6 4 2 8 5 7 1 3;6 4 1 5 8 2 7 3;6 3 5 8 1 4 2 7;6 3 5 7 1 4 2 8;6 3 7 4 1 8 2 5;6 3 7 2 4 8 1 5;6 3 7 2 8 5 1 4;6 3 1 7 5 8 2 4;6 3 1 8 4 2 7 5;6 3 1 8 5 2 4 7;6 2 7 1 4 8 5 3;6 2 7 1 3 5 8 4;6 1 5 2 8 3 7 4;5 7 4 1 3 8 6 2;5 7 2 4 8 1 3 6;5 7 2 6 3 1 8 4;5 7 2 6 3 1 4 8;5 7 1 4 2 8 6 3;5 7 1 3 8 6 4 2;5 8 4 1 3 6 2 7;5 8 4 1 7 2 6 3;5 3 8 4 7 1 6 2;5 3 1 7 2 8 6 4;5 3 1 6 8 2 4 7;5 2 6 1 7 4 8 3;5 2 8 1 4 7 3 6;5 2 4 6 8 3 1 7;5 2 4 7 3 8 6 1;5 1 8 6 3 7 2 4;5 1 8 4 2 7 3 6;5 1 4 6 8 2 7 3;4 7 5 3 1 6 8 2;4 7 5 2 6 1 3 8;4 7 3 8 2 5 1 6;4 7 1 8 5 2 6 3;4 6 8 3 1 7 5 2;4 6 8 2 7 1 3 5;4 6 1 5 2 8 3 7;4 8 5 3 1 7 2 6;4 8 1 5 7 2 6 3;4 8 1 3 6 2 7 5;4 2 5 8 6 1 3 7;4 2 8 5 7 1 3 6;4 2 8 6 1 3 5 7;4 2 7 5 1 8 6 3;4 2 7 3 6 8 5 1;4 2 7 3 6 8 1 5;4 1 5 8 6 3 7 2;4 1 5 8 2 7 3 6;3 7 2 8 5 1 4 6;3 7 2 8 6 4 1 5;3 6 4 2 8 5 7 1;3 6 4 1 8 5 7 2;3 6 8 2 4 1 7 5;3 6 8 1 4 7 5 2;3 6 8 1 5 7 2 4;3 6 2 5 8 1 7 4;3 6 2 7 5 1 8 4;3 6 2 7 1 4 8 5;3 5 7 1 4 2 8 6;3 5 8 4 1 7 2 6;3 5 2 8 6 4 7 1;3 5 2 8 1 7 4 6;3 8 4 7 1 6 2 5;3 1 7 5 8 2 4 6;2 7 5 8 1 4 6 3;2 7 3 6 8 5 1 4;2 6 8 3 1 4 7 5;2 6 1 7 4 8 3 5;2 5 7 4 1 8 6 3;2 5 7 1 3 8 6 4;2 4 6 8 3 1 7 5;2 8 6 1 3 5 7 4;1 7 5 8 2 4 6 3;1 7 4 6 8 2 5 3;1 6 8 3 7 4 2 5;1 5 8 6 3 7 2 4]; [s, q] = nqueens(n); assert(isequal(s,s_correct) && isequal(sortrows(q),sortrows(q_correct)))

9   Pass
n = 9; s_correct = 352; q_correct = [9 7 4 2 8 6 1 3 5;9 7 3 8 2 5 1 6 4;9 7 2 4 1 8 5 3 6;9 6 8 2 4 1 7 5 3;9 6 4 7 1 8 2 5 3;9 6 4 2 8 5 7 1 3;9 6 3 7 2 8 5 1 4;9 6 3 1 8 5 2 4 7;9 6 2 7 1 3 5 8 4;9 5 8 4 1 7 2 6 3;9 5 3 8 4 7 1 6 2;9 5 3 1 7 2 8 6 4;9 5 3 1 6 8 2 4 7;9 5 1 8 4 2 7 3 6;9 5 1 4 6 8 2 7 3;9 4 6 8 3 1 7 5 2;9 4 6 8 2 7 1 3 5;9 4 8 1 3 6 2 7 5;9 4 2 5 8 6 1 3 7;9 4 2 7 3 6 8 1 5;9 4 1 5 8 2 7 3 6;9 3 6 4 1 8 5 7 2;9 3 6 2 7 5 1 8 4;9 3 6 2 7 1 4 8 5;9 3 5 2 8 1 7 4 6;9 2 6 8 3 1 4 7 5;9 2 5 7 4 1 8 6 3;9 2 5 7 1 3 8 6 4;8 6 9 3 1 4 7 5 2;8 6 3 9 7 1 4 2 5;8 6 2 7 1 4 9 5 3;8 6 1 3 5 7 9 4 2;8 6 1 3 7 9 4 2 5;8 5 3 6 9 7 1 4 2;8 5 3 9 7 2 4 6 1;8 5 3 1 7 4 6 9 2;8 5 3 1 6 2 9 7 4;8 5 2 9 7 4 1 3 6;8 5 2 9 1 4 7 3 6;8 5 2 4 1 7 9 6 3;8 5 2 4 1 7 9 3 6;8 5 1 6 9 2 4 7 3;8 4 7 9 2 6 1 3 5;8 4 9 7 3 1 6 2 5;8 4 9 3 5 7 1 6 2;8 4 9 3 6 2 7 5 1;8 4 9 1 5 2 6 3 7;8 4 1 7 5 2 6 9 3;8 3 5 9 1 6 4 2 7;8 3 5 2 9 6 4 7 1;8 3 1 4 7 9 6 2 5;8 2 5 7 1 4 6 9 3;8 2 4 1 7 9 6 3 5;8 2 9 6 3 1 4 7 5;8 1 5 7 2 6 3 9 4;8 1 4 6 3 9 7 5 2;8 1 4 7 5 2 9 6 3;8 1 4 7 3 6 9 2 5;7 9 6 3 1 8 5 2 4;7 9 4 2 5 8 6 1 3;7 9 3 5 2 8 6 4 1;7 9 3 8 2 4 6 1 5;7 9 2 6 1 3 5 8 4;7 9 1 3 5 8 2 4 6;7 5 8 2 9 3 6 4 1;7 5 8 2 9 6 3 1 4;7 5 3 9 6 8 2 4 1;7 5 2 8 1 4 9 3 6;7 5 2 8 1 3 9 6 4;7 5 1 6 9 3 8 4 2;7 5 1 8 6 3 9 2 4;7 4 8 3 9 6 2 5 1;7 4 8 1 5 9 2 6 3;7 4 2 5 8 1 3 6 9;7 4 2 5 9 1 3 8 6;7 4 2 8 6 1 3 5 9;7 4 2 9 5 1 8 6 3;7 4 2 9 6 3 5 8 1;7 4 1 5 2 9 6 8 3;7 4 1 8 5 3 6 9 2;7 4 1 8 2 9 6 3 5;7 4 1 3 8 6 2 9 5;7 4 1 3 6 9 2 8 5;7 4 1 3 9 6 8 5 2;7 4 1 9 2 6 8 3 5;7 3 6 8 1 4 9 5 2;7 3 6 8 1 5 9 2 4;7 3 6 2 5 1 9 4 8;7 3 8 6 2 9 5 1 4;7 3 8 2 5 1 9 4 6;7 3 8 2 4 6 9 5 1;7 3 1 6 8 5 2 4 9;7 3 1 9 5 8 2 4 6;7 2 6 3 1 8 5 9 4;7 2 4 6 1 9 5 3 8;7 2 4 9 1 8 5 3 6;7 2 4 1 8 5 9 6 3;7 2 8 6 1 3 5 9 4;7 1 6 9 2 4 8 3 5;7 1 6 2 5 8 4 9 3;7 1 6 8 2 4 9 3 5;7 1 4 6 9 3 5 8 2;7 1 4 2 8 6 9 3 5;7 1 4 8 5 3 9 6 2;7 1 8 5 2 9 3 6 4;6 8 5 2 9 7 4 1 3;6 8 3 7 9 2 5 1 4;6 8 3 1 9 2 5 7 4;6 8 3 1 9 5 2 4 7;6 8 2 7 1 3 5 9 4;6 8 1 5 9 2 4 7 3;6 8 1 7 4 2 9 5 3;6 9 7 4 1 8 2 5 3;6 9 5 8 1 3 7 2 4;6 9 5 2 8 3 7 4 1;6 9 5 1 8 4 2 7 3;6 9 3 1 8 4 2 7 5;6 9 1 4 7 3 8 2 5;6 4 7 1 8 5 2 9 3;6 4 7 1 8 2 5 3 9;6 4 7 1 3 9 2 8 5;6 4 9 5 8 2 7 3 1;6 4 9 1 5 2 8 3 7;6 4 9 1 3 7 2 8 5;6 4 2 8 5 9 1 3 7;6 4 2 8 5 3 1 9 7;6 4 2 8 3 9 7 5 1;6 4 2 7 9 3 5 8 1;6 4 1 7 9 2 8 5 3;6 3 7 4 1 9 2 5 8;6 3 7 2 4 8 1 5 9;6 3 7 2 4 9 1 8 5;6 3 7 2 8 5 1 4 9;6 3 9 7 1 4 2 5 8;6 3 9 4 1 8 2 5 7;6 3 9 2 5 8 1 7 4;6 3 5 8 1 4 2 7 9;6 3 5 8 1 9 4 2 7;6 3 5 8 1 9 7 2 4;6 3 1 4 7 9 2 5 8;6 3 1 8 5 2 9 7 4;6 3 1 8 4 9 7 5 2;6 2 9 5 3 8 4 7 1;6 2 5 7 9 4 8 1 3;6 2 5 7 9 3 8 4 1;6 1 7 4 8 3 5 9 2;6 1 5 7 9 4 2 8 3;6 1 5 7 9 3 8 2 4;6 1 5 2 9 7 4 8 3;5 8 6 9 3 1 7 4 2;5 8 6 1 3 7 9 4 2;5 8 4 9 7 3 1 6 2;5 8 4 1 7 2 6 3 9;5 8 4 1 3 6 9 7 2;5 8 2 9 6 3 1 4 7;5 8 2 9 3 1 7 4 6;5 8 2 7 3 6 9 1 4;5 8 2 7 3 1 9 4 6;5 8 1 9 4 2 7 3 6;5 8 1 4 7 3 6 9 2;5 7 9 4 8 1 3 6 2;5 7 9 4 2 8 6 3 1;5 7 9 3 8 2 4 6 1;5 7 4 1 8 2 9 6 3;5 7 4 1 3 8 6 2 9;5 7 4 1 3 9 6 8 2;5 7 4 1 3 6 9 2 8;5 7 2 6 3 1 8 4 9;5 7 2 6 8 1 4 9 3;5 7 2 4 8 1 3 9 6;5 7 2 4 8 1 9 6 3;5 7 1 6 8 2 4 9 3;5 7 1 4 2 8 6 9 3;5 9 4 6 8 2 7 1 3;5 9 2 6 8 3 1 4 7;5 9 2 4 7 3 8 6 1;5 3 6 9 7 4 1 8 2;5 3 6 9 7 2 4 8 1;5 3 6 9 7 1 4 2 8;5 3 6 9 2 8 1 4 7;5 3 9 6 8 2 4 1 7;5 3 9 4 2 8 6 1 7;5 3 8 6 2 9 7 1 4;5 3 8 6 2 9 1 4 7;5 3 8 4 7 9 2 6 1;5 3 8 4 2 9 6 1 7;5 3 1 6 8 2 4 7 9;5 3 1 6 2 9 7 4 8;5 3 1 7 2 8 6 4 9;5 2 6 9 7 4 1 3 8;5 2 6 9 3 8 4 7 1;5 2 6 1 3 7 9 4 8;5 2 9 6 3 7 4 1 8;5 2 9 1 6 8 3 7 4;5 2 4 9 7 3 1 6 8;5 2 4 1 7 9 3 6 8;5 2 8 3 7 4 1 9 6;5 2 8 3 7 9 1 6 4;5 2 8 1 4 7 9 6 3;5 2 8 1 7 9 3 6 4;5 1 6 4 2 8 3 9 7;5 1 8 6 3 7 2 4 9;5 1 8 4 2 7 9 6 3;4 8 5 3 1 6 2 9 7;4 8 5 3 1 7 2 6 9;4 8 1 5 7 2 6 3 9;4 7 5 2 9 6 8 3 1;4 7 5 2 9 1 3 8 6;4 7 5 2 9 1 6 8 3;4 7 9 6 3 1 8 5 2;4 7 9 2 5 8 1 3 6;4 7 9 2 6 1 3 5 8;4 7 3 6 9 1 8 5 2;4 7 3 8 6 2 9 5 1;4 7 3 8 6 1 9 2 5;4 7 3 8 2 5 9 6 1;4 7 1 6 9 2 8 5 3;4 7 1 3 9 6 8 5 2;4 7 1 8 5 2 9 3 6;4 6 8 3 1 7 5 2 9;4 6 8 2 5 7 9 1 3;4 6 8 2 5 1 9 7 3;4 6 8 2 7 1 3 5 9;4 6 9 3 1 8 2 5 7;4 6 3 9 7 1 8 2 5;4 6 3 9 2 8 5 7 1;4 6 3 9 2 5 8 1 7;4 6 1 5 2 8 3 7 9;4 6 1 9 5 8 2 7 3;4 6 1 9 7 3 8 2 5;4 9 5 8 1 3 6 2 7;4 9 5 3 1 6 8 2 7;4 9 5 3 1 7 2 8 6;4 9 3 6 2 7 5 1 8;4 2 7 9 1 8 5 3 6;4 2 7 9 1 5 8 6 3;4 2 7 3 1 8 5 9 6;4 2 5 8 1 3 6 9 7;4 2 9 5 1 8 6 3 7;4 2 9 3 6 8 1 5 7;4 2 8 3 9 7 5 1 6;4 1 7 9 2 6 8 3 5;4 1 5 9 2 6 8 3 7;4 1 5 2 9 7 3 8 6;4 1 5 8 2 7 3 6 9;4 1 9 6 3 7 2 8 5;4 1 3 6 9 2 8 5 7;3 8 6 4 9 1 5 7 2;3 8 6 9 2 5 1 4 7;3 8 6 1 9 2 5 7 4;3 8 4 7 9 2 5 1 6;3 8 2 4 9 7 5 1 6;3 7 4 8 5 9 1 6 2;3 7 4 2 9 5 1 8 6;3 7 4 2 9 6 1 5 8;3 7 9 4 2 5 8 6 1;3 7 9 1 5 2 8 6 4;3 7 2 4 8 1 5 9 6;3 7 2 8 5 9 1 6 4;3 7 2 8 6 4 1 5 9;3 6 8 5 2 9 7 4 1;3 6 8 5 1 9 7 2 4;3 6 8 2 4 9 7 5 1;3 6 8 1 5 9 2 4 7;3 6 8 1 4 7 5 2 9;3 6 9 5 8 1 4 2 7;3 6 9 7 4 1 8 2 5;3 6 9 7 2 4 8 1 5;3 6 9 7 1 4 2 5 8;3 6 9 2 5 7 4 1 8;3 6 9 2 8 1 4 7 5;3 6 9 1 8 4 2 7 5;3 6 2 9 5 1 8 4 7;3 6 2 7 1 4 8 5 9;3 5 7 1 4 2 8 6 9;3 5 8 2 9 7 1 4 6;3 5 8 2 9 6 1 7 4;3 5 9 4 1 7 2 6 8;3 5 9 2 4 7 1 8 6;3 5 2 8 1 4 7 9 6;3 5 2 8 1 7 4 6 9;3 9 6 4 1 7 5 2 8;3 9 6 8 2 4 1 7 5;3 9 6 2 5 7 1 4 8;3 9 4 8 5 2 6 1 7;3 9 4 2 8 6 1 7 5;3 9 4 1 8 6 2 7 5;3 9 2 5 8 1 7 4 6;3 1 7 5 8 2 4 6 9;3 1 7 2 8 6 4 9 5;3 1 6 8 5 2 4 9 7;3 1 4 7 9 2 5 8 6;3 1 9 7 5 2 8 6 4;3 1 8 4 9 7 5 2 6;2 8 6 9 3 1 4 7 5;2 8 5 3 9 6 4 1 7;2 8 1 4 7 9 6 3 5;2 7 5 8 1 4 6 3 9;2 7 5 1 9 4 6 8 3;2 7 9 6 3 1 4 8 5;2 6 3 1 8 4 9 7 5;2 6 9 3 5 8 4 1 7;2 6 1 3 7 9 4 8 5;2 6 1 9 5 8 4 7 3;2 6 1 7 5 3 9 4 8;2 6 1 7 4 8 3 5 9;2 5 7 4 1 3 9 6 8;2 5 7 9 4 8 1 3 6;2 5 7 9 3 6 4 1 8;2 5 7 1 3 8 6 4 9;2 5 8 6 9 3 1 7 4;2 5 8 6 9 3 1 4 7;2 5 8 1 3 6 9 7 4;2 5 8 1 9 6 3 7 4;2 5 9 4 1 8 6 3 7;2 4 7 1 3 9 6 8 5;2 4 8 3 9 6 1 5 7;2 4 9 7 5 3 1 6 8;2 4 9 7 3 1 6 8 5;2 4 1 7 9 6 3 5 8;2 9 6 4 7 1 3 5 8;2 9 6 3 5 8 1 4 7;2 9 6 3 7 4 1 8 5;2 9 5 3 8 4 7 1 6;1 8 5 3 6 9 2 4 7;1 8 5 3 9 7 2 4 6;1 8 4 2 7 9 6 3 5;1 7 5 8 2 9 3 6 4;1 7 4 6 9 2 5 3 8;1 7 4 8 3 5 9 2 6;1 7 4 8 3 9 6 2 5;1 6 8 5 2 4 9 7 3;1 6 8 3 7 4 2 9 5;1 6 4 2 7 9 3 5 8;1 6 4 2 8 3 9 7 5;1 6 2 9 7 4 8 3 5;1 6 9 5 2 8 3 7 4;1 5 7 2 6 3 9 4 8;1 5 7 9 4 2 8 6 3;1 5 7 9 3 8 2 4 6;1 5 2 6 9 3 8 4 7;1 5 9 6 4 2 8 3 7;1 5 9 2 6 8 3 7 4;1 4 7 3 8 2 5 9 6;1 4 7 9 2 5 8 6 3;1 4 6 8 2 5 3 9 7;1 4 6 3 9 2 8 5 7;1 4 8 3 9 7 5 2 6;1 4 2 8 6 9 3 5 7;1 3 7 2 8 5 9 4 6;1 3 6 8 2 4 9 7 5;1 3 8 6 9 2 5 7 4]; [s, q] = nqueens(n); assert(isequal(s,s_correct) && isequal(sortrows(q),sortrows(q_correct)))