Here is my code. When I submitted it, the system said:

Input: 5

Output: 9

Expected: 10

But when I try it on my own computer with Eclipse, the result for totalNQueens(5) is 10.

```
class Solution {
public:
int totalNQueenSub(int cur, int n, int pos[], int sum){
int newsum = sum;
bool *record = new bool[n];
for(int j=0;j<cur;j++){
int diff = cur - j;
if (pos[j]-diff>=0) record[pos[j]-diff] = true;
if (pos[j]+diff<n) record[pos[j]+diff] = true;
record[pos[j]] = true;
}
for(int i=0;i<n;i++){
pos[cur] = i;
if (!record[i]){
if (cur+1==n)
return sum+1;
newsum = totalNQueenSub(cur+1, n, pos, newsum);
}
}
return newsum;
}
int totalNQueens(int n){
int *pos = new int[n];
return totalNQueenSub(0, n, pos, 0);
}
```

};