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.
Least common multiple of many numbers
159 Solvers
794 Solvers
239 Solvers
104 Solvers
197 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.