void Nqueen(int num){ if( num == n ){ printBoard(); NumOfSolutions++; return; } for(int i= 0; i< n; i++){ Cqueen[num]= i; if( testBoard(num+1) ){ Nqueen(num+1); } } }
int main() { int grid[4][4] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; Nqueen(grid,0); printf("\n Solution\n"); print(grid); return 0; }
boolean Nqueen(int grid[n][n],int row) { for(int i=row;i<n;i++) { for(int j=0;j<n;j++) { if(IsSafe(grid,i,j)) { grid[i][j] = 1; if(Nqueen(grid,i+1)) return TRUE; grid[i][j] = 0; } } return FALSE; } return TRUE; }
void Nqueen(int k) { int i,j; static int x[N]; //solution vector contains column number of queen for(i=0;i<N;i++) //determines appropriate column number of the kth queen to be placed { if(place(k,i,x)) { x[k]=i; if(k==N-1) { count++; for(j=0;j<=k;j++) printf("%d ",x[j]); printf("\n"); } else Nqueen(k+1); } } }
int main() { Nqueen(0); printf("Total %d solutions are possible\n",count); return 0; }
int main(){ Nqueen(0); printf("Number of Solutions for %d Queens is: %d\n", n, NumOfSolutions); exit(1); }