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);
		}
	}
}
Beispiel #2
0
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;
} 
Beispiel #3
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;
}
Beispiel #4
0
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);
        }
    }
 
}
Beispiel #5
0
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);
}