#include #include namespace queens { // Easy way represent a conflict: struct Conflict { int piece_1; int piece_1_x; int piece_1_y; int piece_2; int piece_2_x; int piece_2_y; }; class Piece { public: int x; int y; Piece(int x, int y); }; class Queen: public Piece { using Piece::Piece; }; class Board { public: int m; int n; }; class Configuration { public: int number_of_pieces; std::vector pieces; Board* board; Configuration(int m, int n, int number_of_pieces); std::vector get_conflicts(); }; }