N queen's program

12 views
Skip to first unread message

Shashidhar V Magaji

unread,
May 20, 2012, 6:27:46 AM5/20/12
to sjbit...@googlegroups.com
#include<stdio.h>
#include<conio.h>
#include<math.h>
int x[50];
int place(int p);
void main()
{
   int n,k=1,a=1,count=1,m,i,j,o;
   
   printf("enter the no of queens\n");
   scanf("%d",&n);
   printf("enter the no of sol\n");
   scanf("%d",&m);

   x[1]=0;
   while(a)
   {
      while(k)
      {
 x[k]+=1;
   while((x[k]<=n) && (!place(k)))
x[k]+=1;
if(x[k]<=n)
{
  if(k==n)
  {
     if(m==0)
     break;
     else
     printf("soln:%d\n",count++);

     for(i=1;i<=n;i++)
     {
 for(j=1;j<x[i];j++)
 printf("*");
 printf("Q");
 for(j=x[i]+1;j<=n;j++)
 printf("*");
 printf("\n");
      }
      printf("\n\n");
      m=m-1;
      printf("press 0");
      scanf("%d",&o);
    }
    else
    {
    k=k+1;
    x[k]=0;
    }
 }
 else
 k=k-1;
}
}
getch();
}
int place(int p)
{
   int i;
   for(i=1;i<=(p-1);i++)
      if((x[i]==x[p])||abs(x[i]-x[p])==abs(p-i))
      return 0;
      return 1;
      }
Reply all
Reply to author
Forward
0 new messages