Problem 113. N-Queens Checker

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.