#include #include #define S 5 #define SS 25 int getIndex(int x, int y); int getX(int i); int getY(int i); struct Move { int ndir; int p; int dir; }; class Board { public: int square[SS]; int proton[2*S]; int neutron; int move_count; public: void doMove( Move move ); void undoMove( Move move, int n ); std::vector generateMoves(); int neutronWin(); int pushPiece( int p, int d, bool e = false ); void print(); Board(); Board( Board& ); };