Cody

Problem 306. Eight Queens Solution Checker

Solution 1206659

Submitted on 7 Jun 2017 by Said BOUREZG
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
% Unique solution #6 from % http://en.wikipedia.org/wiki/Eight_queens_puzzle in1 = [ ... 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ]; out1 = isEightQueensSolution(in1); assert(islogical(out1)); assert(isequal(out1, 1));

ans = Columns 1 through 29 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 0 0 0 1 Columns 30 through 31 1 0 ans = logical 1

2   Pass
% Unique solution #7 in2 = [ ... 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ]; out2 = isEightQueensSolution(in2); assert(isequal(out2, 1));

ans = Columns 1 through 29 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 0 1 1 1 0 0 Columns 30 through 31 1 0 ans = logical 1

3   Pass
% Unique solution #10 in3 = [ ... 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 ]; out3 = isEightQueensSolution(in3); assert(isequal(out3, 1));

ans = Columns 1 through 29 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1 0 1 Columns 30 through 31 0 0 ans = logical 1

4   Pass
% Unique solution #11 in4 = [ ... 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 ]; out4 = isEightQueensSolution(in4); assert(isequal(out4, 1));

ans = Columns 1 through 29 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 0 1 1 Columns 30 through 31 0 0 ans = logical 1

5   Pass
in5 = [ ... 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ]; out5 = isEightQueensSolution(in5); assert(isequal(out5, 0));

ans = Columns 1 through 29 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 2 1 0 2 0 0 0 1 0 0 0 1 Columns 30 through 31 1 0 ans = logical 0

6   Pass
in6 = [ ... 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ]; out6 = isEightQueensSolution(in6); assert(isequal(out6, 0));

ans = Columns 1 through 29 1 1 1 1 1 1 1 1 1 1 2 1 0 1 1 1 0 1 2 0 0 1 0 0 1 1 1 0 0 Columns 30 through 31 1 0 ans = logical 0

7   Pass
in7 = [ ... 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 ]; out7 = isEightQueensSolution(in7); assert(isequal(out7, 0));

ans = Columns 1 through 29 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 0 1 0 2 1 0 Columns 30 through 31 0 0 ans = logical 0

8   Pass
in8 = [ ... 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 ]; out8 = isEightQueensSolution(in8); assert(isequal(out8, 0));

ans = Columns 1 through 29 1 1 1 2 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 1 1 0 1 1 Columns 30 through 31 0 0 ans = logical 0

9   Pass
% Only 7 queens in9 = [ ... 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ]; out9 = isEightQueensSolution(in9); assert(isequal(out9, 0));

ans = Columns 1 through 29 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 Columns 30 through 31 1 0 ans = logical 0

10   Pass
% Row and column constraint satisfied but % not diagonal constraint. in10 = eye(8); out10 = isEightQueensSolution(in10); assert(isequal(out10, 0));

ans = Columns 1 through 29 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 8 0 0 0 0 0 0 0 0 0 0 0 0 Columns 30 through 31 0 0 ans = logical 0

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!