void recur(int cur); bool repeated(); bool conflict(); int main(int argc, char **argv) { - run the recursive function given the size of the board } /* precondition: cur and ii should both contain positive values postcondition: recursively find a board configuration where no two queens can attack each other */ void recur(int cur){ - if cur is 0 it is the base case if current solution is not repeated put it in a vector output it onto screen return - else loop through each position on the board fill the position with a queen if no queens are in conflict with one another call recur(cur-1) to place the next queen else un-fill the position } /* precondition: none postcondition: return true if b is an orientation contained in va; b is not changed */ bool repeated(){ - return true if current board configuration is repeated, meaning that it has been outputted before already; note it needs to check every transposition and rotation to make sure it is not repeated; return false otherwise } /* precondition: none postcondition: return true if there is conflict among the queens on b; return false otherwise */ bool conflict(){ - return true if no queens are in conflict with one another; return false otherwise }The argument to recur() is the number of queens that are waiting to be placed on the board. So if it is zero, it means we successfully place every queen and can output the board configuration if it is not repeated.