Picture a chessboard populated with a number of queens (i.e. pieces that can move like a queen in chess). The board is a matrix, a, filled mostly with zeros, while the queens are given as ones. Your job is to verify that the board is a legitimate answer to the N-Queens problem. The board is good only when no queen can "see" (and thus capture) another queen.
Example
The matrix below shows two queens on a 3-by-3 chessboard. The queens can't see each other, so the function should return TRUE.
1 0 0 0 0 1 0 0 0
Here is a bigger board with more queens. Since the queens on rows 3 and 4 are adjacent along a diagonal, they can see each other and the function should return FALSE.
0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0
The board doesn't have to be square, but it always has 2 or more rows and 2 or more columns. This matrix returns FALSE.
1 0 0 0 0 0 0 0 1 1
Cheating solution.
This solution has a minor bug, but it fortunately passed the test suite. :-)
It's supposed to be a n-QUEENS checker, not an n-KINGS checker. This solution wouldn't work with a = [1 0 1; 0 0 0; 0 1 0], for example.
Thanks yurenchu! I added your proposed test point to the tests.
test suite needs additional samples that fail due to diagonal movements (e.g. [1,0;0,1])
I added this test. Rescoring now. Thanks for the suggestion.
Find the two most distant points
1671 Solvers
655 Solvers
Calculate the Levenshtein distance between two strings
362 Solvers
172 Solvers
Solve the set of simultaneous linear equations
220 Solvers
Solution 547461
Only works because test suite isn't extensive enough. Wouldn't work with a = [1 0 1; 0 0 0; 0 1 0], for example.