#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;
}