int totalNQueens(int n) { vector<int> col(n, 0); vector<int> cross1(n*2-1, 0); vector<int> cross2(n*2-1, 0); res = 0; dfs(0, n, col, cross1, cross2); return res; }
bool GameState::isOnBorder(Vector2 point, Direction direction) const { Vector2 point2 = point.getNeighbor(direction); if(!isOnBorder_(point) || !isOnBorder_(point2)) return false; if(!(direction & 1)) return true; Vector2 cross1(point.x, point2.y); Vector2 cross2(point2.x, point.y); return isOnBorder_(cross1) && isOnBorder_(cross2); }