8 Queen Problem
JAVA Code
import java.io.*;
class queens{
int count=0;
int x[]=new int[10];
boolean place(int k,int i)
{
int j;
for(j=1;j<=k-1;j++)
if((x[j]==i) || (Math.abs(x[j]-i)==Math.abs(j-k)))
return false;
return true;
}
void nqueens(int k,int n)
{
int r,i;
for(i=1;i<=n;i++)
{
if(place(k,i))
{
x[k]=i;
if(k==n)
{
for(i=1;i<=n;i++)
{
for(r=1;r<x[i];r++)
{
System.out.print(" - ");
}
System.out.print(" * ");
for(r=x[i]+1;r<=n;r++)
{
System.out.print(" - ");
}
System.out.println("\n");
}
count++;
System.out.println(count);
System.out.println();
}
else
nqueens(k+1,n);
}
}
}
}
class queens8
{
public static void main(String args[]) throws Exception
{
queens q=new queens();
q.nqueens(1,8);
}
}