Fighting Queens Problem
This week, my Programming Languages class has been covering the fighting queens problem, which is based on queens in chess. In chess, queens can move diagonally, vertically and horizontally as far as they would like. The solution to the problem is to find an arrangement of queens such that no queen can move into the same spot as another queen. Another way to think of this is to have no queens on the potential paths of any other queen. For example, a valid configuration of queens is shown as well as an invalid configuration. Valid Configuration Invalid Configuration The goal of this week is to program a way to find every valid configuration for any size of board. However, we have to accomplish it in two ways. The first way is using an imperative language, in this case C++. Imperative languages require the developer to implement the logic behind how the solution is calculated. The second way is using