#include <assert.h> #include <stdio.h> #include <stdlib.h> #include <iostream> #include <functional> struct board { private: static const int BOARD_SIZE = 8; // each queen is placed at { N, queen_on_row[N] } // since there cannot be more than one queen on the same row int queen_on_row[BOARD_SIZE]; public: int size() const { return BOARD_SIZE; } // Returns true if the queen on the specified row is not attacking any other // queen ON ANY HIGHER ROW (it may be attacking any number of queens on the // lower rows). This means that if is_valid_queen(N) for all 0 < N < size(), // then no queen on the whole board is attacking any other queen (we have a solution). bool is_valid_queen(int row) const { assert(row >= 0 && row < BOARD_SIZE); int col = queen_on_row[row]; for (int i = 0; i < row; ++i) { // checks only the rows ABOVE this one int other_queen_col = queen_on_row[i]; // where the queen on row i is if (other_queen_col == col) { // queens are on the same column return false; } if (abs(row - i) == abs(other_queen_col - col)) { // queens are on the same diagonal (doesn't matter which) return false; } } return true; } void place_queen(int row, int col) { assert(row >= 0 && row < BOARD_SIZE); assert(col >= 0 && col < BOARD_SIZE); queen_on_row[row] = col; } // Helper function to print the board std::ostream& print_at(std::ostream& os) const { for(int row = 0; row < this->size(); ++row) { os << "+"; for(int col = 0; col < this->size(); ++col) { os << "---+"; } os << std::endl << "|"; for(int col = 0; col < this->size(); ++col) { os << (queen_on_row[row] == col ? " * |" : " |"); } os << std::endl; } os << "+"; for(int col = 0; col < this->size(); ++col) { os << "---+"; } os << std::endl; return os; } }; // Recursive function that solves the problem of placing a queen in a square // where it is not attacking any other queen placed on a higher row. void find_solutions_impl(struct board& board, std::function<void(const struct board&)> callback, int queens_placed) { if (queens_placed == board.size()) { // all queens have been placed successfully, we have a solution callback(board); return; } // Try each column for the queen on this row for(int queenCol = 0; queenCol < board.size(); ++queenCol) { board.place_queen(queens_placed, queenCol); // If the placement of this queen conflicts with that of a // queen placed earlier, there's no point in trying any harder if(!board.is_valid_queen(queens_placed)) { continue; } // So far no queen attacks another. Try to place the next one. find_solutions_impl(board, callback, queens_placed + 1); } } // Entry point that kicks off the recursion void find_solutions(struct board& board, std::function<void(const struct board&)> callback) { find_solutions_impl(board, callback, 0); } // Forwarding operator that prints the board std::ostream& operator <<(std::ostream& os, const board& board) { return board.print_at(os); } int main(int argc, char* argv[]) { struct board board; int solutions_found = 0; find_solutions(board, [&] (const struct board& b) { std::cout << "SOLUTION #" << (++solutions_found) << std::endl << b << std::endl; }); return 0; }
Standard input is empty
SOLUTION #1 +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #2 +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #3 +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #4 +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #5 +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #6 +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #7 +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #8 +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #9 +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #10 +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #11 +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #12 +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #13 +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ SOLUTION #14 +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ SOLUTION #15 +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #16 +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ SOLUTION #17 +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ SOLUTION #18 +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #19 +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #20 +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #21 +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #22 +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #23 +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #24 +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #25 +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #26 +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ SOLUTION #27 +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #28 +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #29 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ SOLUTION #30 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #31 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ SOLUTION #32 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #33 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #34 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #35 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ SOLUTION #36 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ SOLUTION #37 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ SOLUTION #38 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #39 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #40 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #41 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ SOLUTION #42 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ SOLUTION #43 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #44 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #45 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #46 +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ SOLUTION #47 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #48 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ SOLUTION #49 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #50 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ SOLUTION #51 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #52 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #53 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ SOLUTION #54 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ SOLUTION #55 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #56 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #57 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #58 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #59 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ SOLUTION #60 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ SOLUTION #61 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #62 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #63 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ SOLUTION #64 +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #65 +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #66 +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #67 +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #68 +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #69 +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #70 +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ SOLUTION #71 +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ SOLUTION #72 +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ SOLUTION #73 +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #74 +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #75 +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #76 +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #77 +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #78 +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ SOLUTION #79 +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #80 +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #81 +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #82 +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ SOLUTION #83 +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #84 +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #85 +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #86 +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ SOLUTION #87 +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ SOLUTION #88 +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #89 +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ SOLUTION #90 +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ SOLUTION #91 +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ SOLUTION #92 +---+---+---+---+---+---+---+---+ | | | | | | | | * | +---+---+---+---+---+---+---+---+ | | | | * | | | | | +---+---+---+---+---+---+---+---+ | * | | | | | | | | +---+---+---+---+---+---+---+---+ | | | * | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | * | | | +---+---+---+---+---+---+---+---+ | | * | | | | | | | +---+---+---+---+---+---+---+---+ | | | | | | | * | | +---+---+---+---+---+---+---+---+ | | | | | * | | | | +---+---+---+---+---+---+---+---+